MD5加密

来源:互联网 发布:git本地仓库 windows 编辑:程序博客网 时间:2024/06/06 17:45

MD5加密:java.security.MessageDigest类中的digest()方法

MessageDigest类是一个抽象类,可以通过getInstance()方法获取实例


public byte[] digest(byte[] input)

使用指定的 byte 数组对摘要进行最后更新,然后完成摘要计算。也就是说,此方法首先调用 update(input),向 update 方法传递 input 数组,然后调用 digest()

参数:

input - 在完成摘要计算前要更新的输入。

返回:

存放哈希值结果的 byte 数组。


getInstance(String algorithm)
返回实现指定摘要算法的 MessageDigest 对象。

参数:
algorithm - 所请求算法的名称。

getInstance(String algorithm,Provider provider)
返回实现指定摘要算法的 MessageDigest 对象。

参数:
algorithm - 所请求算法的名称。
provider - 提供者。

@Testpublic void demo() throws Exception{MessageDigest md=MessageDigest.getInstance("MD5");byte[] a="1234567".getBytes();byte[] bs=md.digest(a);String pwd="";for(byte b:bs){//Integer.toHexString(int i);因为这里是扩展转换,把byte通过扩展转换为int类型String s=Integer.toHexString(b & 0xff);//取该字节的最后一位(与16进制ff进行&运算)---因为一个字节是8位2进制if(s.length()==1){s="0"+s;}pwd+=s;}System.out.println(pwd.length());System.out.println(pwd);}
运行结果:

32fcea920f7412b5da7be0cf42b8c93759