MD5加密字符串
2015-06-22 13:38
281 查看
public static String stringToMD5(String str) throws Exception
{
//定义处理后的返回值
StringBuffer result = new StringBuffer();
//定义长度为16的任意字符序列
char[] chars = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//将字符串转为字节数组
byte[] srcBytes = str.getBytes();
//获得MD5加密算法
MessageDigest md5 = MessageDigest.getInstance("MD5");
//用MD5加密算法对源字节数组加密
byte[] md5Bytes = md5.digest(srcBytes);
//遍历字节数组,取出高四位和低四位对应的字符,最终会得到长度为32的字符串
for(byte b:md5Bytes)
{
//处理高四位,右移4位,再与00001111,得到的结果肯定在【0-15】范围内
result.append(chars[(b >> 4) & 0x0F]);
//处理低四位,直接与00001111
result.append(chars[b & 0x0F]);
}
return result.toString();
}
{
//定义处理后的返回值
StringBuffer result = new StringBuffer();
//定义长度为16的任意字符序列
char[] chars = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//将字符串转为字节数组
byte[] srcBytes = str.getBytes();
//获得MD5加密算法
MessageDigest md5 = MessageDigest.getInstance("MD5");
//用MD5加密算法对源字节数组加密
byte[] md5Bytes = md5.digest(srcBytes);
//遍历字节数组,取出高四位和低四位对应的字符,最终会得到长度为32的字符串
for(byte b:md5Bytes)
{
//处理高四位,右移4位,再与00001111,得到的结果肯定在【0-15】范围内
result.append(chars[(b >> 4) & 0x0F]);
//处理低四位,直接与00001111
result.append(chars[b & 0x0F]);
}
return result.toString();
}
相关文章推荐
- (ros/topic_tools): mux 话题的多路切换开关
- C++学习笔记__类的派生和多态性
- 开始刷leetcode day47: Word Break
- Yahoo!团队:网站性能优化的35条黄金守则
- 递归函数的经典例子(汉诺塔问题)
- poj1042贪心方法或者dp方法
- 4th Median of Two Sorted Arrays -- leetcode
- QT实现,通过URL下载文件的接口实现
- 微信公众平台开发:OAuth2.0网页授权
- 保护眼睛的桌面设置
- 5亿整数的大文件,怎么排?
- C++程序设计--对象分册(第5章)
- 搭建andriod开发环境
- 黑马day06 EL表达式之cout&cset&cremove标签
- 微信公众平台开发:JS API支付
- 由js apply与call方法想到的js数据类型(原始类型和引用类型)
- CSS3感应鼠标背景闪烁和图片缩放效果
- 导入时如何定制spring-boot依赖项的版本
- 设计模式之单例模式
- 51nod 1165 整边直角三角形的数量