前几天在Domino中用了Java代理写了一个采用MD5对字符串进行加密以及验证的简单功能。
参考文章:
1. JAVA上加密算法的实现用例:http://www-128.ibm.com/developerworks/cn/java/l-security
实现过程如下:
1.对密码字符串进行加密:
首先用生成一个MessageDigest类:MessageDigest alg= MessageDigest.getInstance("MD5");
添加要进行计算摘要的信息:alg.update(password.getBytes()); //其中password为密码字符串
计算出摘要:byte[] digest=alga.digest();
然后将摘要转换成16进制:byte2hex(digest)
/*
* 二进制转换为十六进制字符串
*
* @param b 二进制数组 @return 十六进制字符串
*/
private static String byte2hex(byte[] bytes) {
String hs = "";
String stmp = "";
for (int i = 0; i < bytes.length; i++) {
stmp = (java.lang.Integer.toHexString(bytes[i] & 0XFF));
if (stmp.length() == 1)
hs = hs + "0" + stmp;
else
hs = hs + stmp;
}
return hs.toUpperCase();
}将生成的16进制摘要保存到数据库中。
2. 验证:
获取输入的验证密码:password=doc.getItemVa