MD5加密算法---简析 |jinzi12345678
MD5加密算法由于其具有较好的安全性,加之商业也可以免费使用该算法,因此该加密算法被广泛使用,md5算法主要运用在数字签名、文件完整性验证以及口令加密等方面。在一般情况下MD5这种加密算法是比较安全的。2004年山东大学王小云教授破解了这种一直被认为很安全的加密算法。从此MD5不在安全……但这种算法,不能就这么“昙花一现"
还是有必要去学习一下的……
写了一个简单的例子:
==============================
package cn.edu.bzu;
import java.security.*;
//使用MD5加密算法对超级管理员信息进行加密
public class SimpleEncryption {
public final static String MD5(String s) {
try {
byte[] btInput = s.getBytes();
MessageDigest mdInst = MessageDigest.getInstance("MD5");
mdInst.update(btInput);
byte[] md = mdInst.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < md.length; i++) {
int val = ((int) md) & 0xff;
if (val < 16)
sb.append("0");
sb.append(Integer.toHexString(val));
}
return sb.toString();
}catch (Exception e) {
return s; //加密失败返回源字符串
}
}
public static void main(String args[]){
String s[]={"小金","男","我是程序员"};
for(int i=0;i<s.length;i++){
System.out.println(MD5(s));
}
}
}最后结果:
18b1d50501e154c5b0665ada4dea5fa51d2efed5ab3948269942da329d79b2124086617ffd9818e87bb4f59413add9c7
=====================
这是一种不可逆算法。
再次对数据进行验证的时候,不能说事解密。只能说是重新再把数据加密一下,得到结果在和早期加密后的结果进行比对……
页:
[1]