class="java" name="code">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)); } }
?
?