import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Encoder;
public class DigestTest {
public static void main(String [] args) throws NoSuchAlgorithmException,
UnsupportedEncodingException{
// 可用的算法包括:MD2 MD5 SHA-1 SHA-256 SHA-384 SHA-512
MessageDigest md = MessageDigest.getInstance("SHA-256");
BASE64Encoder b64e = new BASE64Encoder();
// 执行摘要。
b64e.encode(md.digest("测试内容".getBytes("utf8")));
System.out.println(b64e.encode(md.digest("测试内容".getBytes("utf8"))));
}
}
摘要算法,可以用来保存密码。
摘要是单向的过程,理论上不存在解出明文的可能。
base64 转码相当有必要的。结果可以方便的存入数据库中。
开发新系统时 md5 一般就不要再用了。sha-1 也是一样。
本文提供了一个使用Java实现SHA-256摘要算法的示例代码,介绍了如何通过SHA-256算法对字符串进行摘要处理,并利用Base64编码将摘要结果转换为可读性强的字符串形式,便于存储于数据库中。文章强调了摘要算法的安全性和不可逆性,并建议在新系统开发中考虑使用更安全的摘要算法。

被折叠的 条评论
为什么被折叠?



