Adr*_*min 21
这是我用来加密MD5的算法.它返回你的加密输出.
public class CryptWithMD5 {
private static MessageDigest md;
public static String cryptWithMD5(String pass){
try {
md = MessageDigest.getInstance("MD5");
byte[] passBytes = pass.getBytes();
md.reset();
byte[] digested = md.digest(passBytes);
StringBuffer sb = new StringBuffer();
for(int i=0;i<digested.length;i++){
sb.append(Integer.toHexString(0xff & digested[i]));
}
return sb.toString();
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(CryptWithMD5.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
你不能解密MD5,但你可以比较输出,因为如果你在这个方法中放入相同的字符串它将具有相同的加密输出.如果你想解密你需要使用SHA.你永远不会使用decription用户密码.为此,总是使用MD5.That异常是多余的.它永远不会抛出它.
zw3*_*324 10
编辑:这个答案很老.现在不鼓励使用MD5,因为它很容易被破坏.
我想,MD5必须足够好吗?您可以使用MessageDigest实现它.
MessageDigest.getInstance("MD5");
如果你真的想要的话,这里是它的第三方版本: Fast MD5
| 归档时间: |
|
| 查看次数: |
150525 次 |
| 最近记录: |