JAVA 的MD5加密算法源代码
来源:互联网 发布:网络病毒 应急 演练 编辑:程序博客网 时间:2024/05/29 11:59
import java.security.MessageDigest;
public class RMD5 {
public RMD5(){
}
public final static String MD5(String strOriginal){
char[] cHexDigits = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
byte[] cOriginal = strOriginal.getBytes();
try{
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(cOriginal);
byte[] bMd = md5.digest();
char[] cProcessed = new char[bMd.length * 2];
int k = 0;
for(int i = 0;i < bMd.length; i++){
byte bTmp = bMd[i];
cProcessed[k++] = cHexDigits[bTmp >>> 4 & 0xf];
cProcessed[k++] = cHexDigits[bTmp & 0xf];
}
return new String(cProcessed);
}
catch(Exception e){
return null;
}
}
}
bTmp & 0Xf 的作用是将byte转化为int。
因为0xf是整型,bTmp & 0xf 向大的数据类型靠拢,就是整型了。
java中的byte 是sign的 ,所以 将一个负byte强制转换成int,就会损坏原来的binary表示,例如:
byte bb=(byte) 0xf1; //11110001
printBinary((int)bb);//11111111111111111111111111110001
printBinary(bb & 0xff);//00000000000000000000000011110001
运行结果:
int: -15 binary:
11111111111111111111111111110001
int: 241 binary:
00000000000000000000000011110001
- JAVA 的MD5加密算法源代码
- JAVA 的MD5加密算法源代码
- JAVA 的MD5加密算法源代码
- JAVA 的MD5加密算法源代码
- JAVA 的MD5加密算法源代码
- JAVA 的MD5加密算法源代码
- JAVA 的MD5加密算法源代码
- JAVA 的MD5加密算法源代码-Java基础-Java-编程开发
- JAVA 的MD5加密算法
- java的MD5加密算法实现
- java实现的MD5加密算法
- java的md5加密算法代码
- MD5加密算法的java实现
- MD5带盐值的java加密算法
- MD5加密算法的java实现
- Java MD5加密算法的实现
- Java MD5加密算法的实现
- MD5带盐值的java加密算法
- 动态数组
- [转载] 跟我一起写 Makefile
- 引用:jspSmartUpload上传下载全攻略
- select控件
- 小知识
- JAVA 的MD5加密算法源代码
- 经济适用男
- UIBUtton title image 不能同时显示
- 动态设置链接的Title的js方法
- URL Filtering in isa 2008
- 我的博客
- 大家来讨论一下
- #ifdef __cplusplus extern "C"
- JSON基础