欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SHA加密

程序员文章站 2022-07-04 08:09:22
...
package com.dc;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;  
import java.security.NoSuchAlgorithmException;  

/* ******************  类说明  *********************
 * class       :  DcSHAUtil
 * @author     :  ncc
 * create time :  2017-12-19 上午10:36:08
 * @version    :  1.0  
 * description :  SHA 是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,
 * 现在已成为公认的最安全的散列算法之一,并被广泛使用。该算法的思想是接收一段明文,
 * 然后以一种不可逆的方式将它转换成一段(通常更小)密文,
 * 也可以简单的理解为取一串输入码(称为预映射或信息),
 * 并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。
 * 散列函数值可以说时对明文的一种“指纹”或是“摘要”所以对散列值的数字签名就可以视为对此明文的数字签名。
 * @see        :                        
 * ************************************************/   
public class DcSHAUtil {  
      
    /* ********************************************
     * method name   : eccrypt 
     * description   : 加密字符串
     * @return       : byte[]
     * @param        : @param info
     * @param        : @return
     * @param        : @throws NoSuchAlgorithmException
     * modified      : ncc ,  2017-12-19
     * @see          : 
     * ********************************************/      
    public byte[] eccrypt(String info) throws NoSuchAlgorithmException{  
        MessageDigest md5 = MessageDigest.getInstance("SHA");  
        byte[] srcBytes = info.getBytes();  
        //使用srcBytes更新摘要  
        md5.update(srcBytes);  
        //完成哈希计算,得到result  
        byte[] resultBytes = md5.digest();  
        return resultBytes;  
    }  
  
    /** 
     * @param args 
     * @throws NoSuchAlgorithmException  
     * @throws UnsupportedEncodingException 
     */  
    public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {  
        String msg = "欢迎光临得草之家!";  
        DcSHAUtil sha = new DcSHAUtil();  
        byte[] resultBytes = sha.eccrypt(msg);  
        System.out.println("明文是:" + msg);
        System.out.println("密文是:" + new String(resultBytes));  
    }  
}

 

 

相关标签: SHA 加密 java