MD5加密
来源:互联网 发布:转行it 编辑:程序博客网 时间:2024/06/06 07:15
import java.security.MessageDigest;
public class MD5 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MD5 md=new MD5();
String ss="1234";
String mdd=md.calc(ss);
System.out.println("MD5:"+mdd);
}
public final static String calc(String ss){ //MD5加密算法
String s= ss == null ? "" : ss; //如果为空则返回""
char hexDigits[] = {'0','1','2','3','4','5','6','7',
'8','9','a','b','c','d','e','f'}; //字典
try{
byte[] strTemp = s.getBytes(); //获取二进制
MessageDigest mdTemp = MessageDigest.getInstance("MD5");
//加密器
mdTemp.update(strTemp); //执行加密
byte[] md = mdTemp.digest(); //加密结果
int j = md.length; //结果长度
char str[] = new char[j*2]; //字符数组
int k = 0;
for(int i = 0; i < j; i++){ //将二进制加密结果转化为字符
byte byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
//System.out.println(str);
return new String(str); //输出加密后的字符
}catch (Exception e) {
return null;
}
}
}
public class MD5 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MD5 md=new MD5();
String ss="1234";
String mdd=md.calc(ss);
System.out.println("MD5:"+mdd);
}
public final static String calc(String ss){ //MD5加密算法
String s= ss == null ? "" : ss; //如果为空则返回""
char hexDigits[] = {'0','1','2','3','4','5','6','7',
'8','9','a','b','c','d','e','f'}; //字典
try{
byte[] strTemp = s.getBytes(); //获取二进制
MessageDigest mdTemp = MessageDigest.getInstance("MD5");
//加密器
mdTemp.update(strTemp); //执行加密
byte[] md = mdTemp.digest(); //加密结果
int j = md.length; //结果长度
char str[] = new char[j*2]; //字符数组
int k = 0;
for(int i = 0; i < j; i++){ //将二进制加密结果转化为字符
byte byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
//System.out.println(str);
return new String(str); //输出加密后的字符
}catch (Exception e) {
return null;
}
}
}
- MD5加密
- MD5加密
- md5加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- md5 加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- linux c socket
- 关于BW Query Performance 的一些问答
- 详解Android动画之Tween Animation
- android解决中文乱码的所有方案
- Linux 内核配置方式详解
- MD5加密
- zoj1879
- jdbc preparedStatement和statement,resultset等区分
- HDU 4365 - Palindrome graph
- 合格CTO之二三事
- Extjs-弹出窗口 Ext.MessageBox
- 存储行业学习资源推荐
- Hone蓝牙钥匙扣 iPhone轻松找钥匙
- 10个技巧能够使新手机应用在发布前提升质量,最大化发掘该应用的潜力,从而最小化用户差评和低下载量这种不良结果。