MD5加密算法实现
2014-04-30 15:09
337 查看
/**
* md5加密
* @param strSrc
* @param encName
* @return
*/
public static String Encrypt(String strSrc, String encName) {
MessageDigest md = null;
// 加密后的字符串
String strDes = null;
// 要加密的字符串字节型数组
byte[] bt = strSrc.getBytes();
try {
if (encName == null || encName.equals(""))
encName = "MD5";
md = MessageDigest.getInstance(encName);
md.update(bt);
// 通过执行诸如填充之类的最终操作完成哈希计算
strDes = bytes2Hex(md.digest()); // to HexString
} catch (NoSuchAlgorithmException e) {
System.out.println("Invalid algorithm.\n" + e.getMessage());
return null;
}
return strDes;
}
// 将字节数组转换成16进制的字符串
private static String bytes2Hex(byte[] bts) {
String des = "";
String tmp = null;
for (int i = 0; i < bts.length; i++) {
tmp = (Integer.toHexString(bts[i] & 0xFF));
if (tmp.length() == 1) {
des += "0";
}
des += tmp;
}
return des;
}
* md5加密
* @param strSrc
* @param encName
* @return
*/
public static String Encrypt(String strSrc, String encName) {
MessageDigest md = null;
// 加密后的字符串
String strDes = null;
// 要加密的字符串字节型数组
byte[] bt = strSrc.getBytes();
try {
if (encName == null || encName.equals(""))
encName = "MD5";
md = MessageDigest.getInstance(encName);
md.update(bt);
// 通过执行诸如填充之类的最终操作完成哈希计算
strDes = bytes2Hex(md.digest()); // to HexString
} catch (NoSuchAlgorithmException e) {
System.out.println("Invalid algorithm.\n" + e.getMessage());
return null;
}
return strDes;
}
// 将字节数组转换成16进制的字符串
private static String bytes2Hex(byte[] bts) {
String des = "";
String tmp = null;
for (int i = 0; i < bts.length; i++) {
tmp = (Integer.toHexString(bts[i] & 0xFF));
if (tmp.length() == 1) {
des += "0";
}
des += tmp;
}
return des;
}
相关文章推荐
- 仿照微信朋友圈中点击图片出现大图浏览效果
- Android读写配置文件
- asp.net为什么网页里面找不到CS文件
- hadoop命令 - fs count
- WINCE 音频驱动之一:分类
- b/s结构与c/s结构
- FragmentTabHost + pageView 实现可左右滑动的底部菜单 ...
- 在tomcat下配置mysql的链接池步骤
- PyCharm常用快捷键
- android设计模式之工厂方法模式
- attachEvent 与addEventListener 区别
- java往txt文件中写内容
- c语言malloc分配
- 无刷新上传图片
- 农村土地承包经营权
- iOS7——隐藏状态栏
- QT 的信号与槽机制介绍
- 全角和半角转换
- linux date命令
- ubutu 12.04