您的位置:首页 > 其它

技术点-MD5密码加密-32/16 位

2017-10-18 10:01 513 查看
package cn.com.pass;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class SendMD5 {

public static void main(String[] args) {
printMD5("abcABC");
}

private static String printMD5(String password) {
//存放最终结果
String result = "";
try {
//选择加密方式
MessageDigest md = MessageDigest.getInstance("MD5");
//将密码分析成字节的形式
md.update(password.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
result = buf.toString();
//32,16位密码打印
System.out.println("MD5(" + password + ",32) = " + result);
System.out.println("MD5(" + password + ",16) = " + buf.toString().substring(8, 24));
} catch (NoSuchAlgorithmException e) {
System.out.println(e);
e.printStackTrace();
}
return result;
}
}


对应输出结果:

MD5(abcABC,32) = 0ace325545119ac99f35a58e04ac2df1
MD5(abcABC,16) = 45119ac99f35a58e
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  加密