package com.dc; |
import java.io.UnsupportedEncodingException; |
import java.security.MessageDigest; |
import java.security.NoSuchAlgorithmException; |
/* ****************** 类说明 ********************* |
* class : DcMD5Util |
* @author : ncc |
* create time : 2017-12-19 上午10:24:09 |
* @version : 1.0 |
* description : MD5 即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。 |
* 是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。 |
* 将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。 |
* MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式 |
* (就是把一个任意长度的字节串变换成一定长的十六进制数字串)。 |
* 除了MD5以外,其中比较有名的还有sha-1、RIPEMD以及Haval等 |
* @see : |
* ************************************************/ |
public class DcMD5Util { |
|
/* ******************************************** |
* method name : eccrypt |
* description : 对字符串加密 |
* @return : byte[] |
* @param : @param info |
* @param : @return |
* @param : @throws NoSuchAlgorithmException |
* @param : @throws UnsupportedEncodingException |
* modified : ncc , 2017-12-19 |
* @see : |
* ********************************************/ |
public byte [] eccrypt(String info) throws NoSuchAlgorithmException, UnsupportedEncodingException{ |
//根据MD5算法生成MessageDigest对象 |
MessageDigest md5 = MessageDigest.getInstance( "MD5" ); |
//使用srcBytes更新摘要 |
md5.update(info.getBytes()); |
//完成哈希计算,得到result |
byte [] resultBytes = md5.digest(); |
return resultBytes; |
} |
|
public static void main(String args[]) throws NoSuchAlgorithmException, UnsupportedEncodingException{ |
String msg = "欢迎光临得草之家" ; |
DcMD5Util md5 = new DcMD5Util(); |
byte [] resultBytes = md5.eccrypt(msg); |
|
System.out.println( "密文是:" + new String(resultBytes)); |
System.out.println( "明文是:" + msg); |
} |
|
} |