我正在创建一个简单的 Web 应用程序,并希望将散列密码存储到数据库中。我也需要身份验证令牌的哈希函数(连接用户名和日期,并将它们与哈希一起作为令牌发送给客户端)。
我发现 MessageDigest Java 类可以帮助我解决这个问题。这是一个链接。基本思想是这样的:
public String digestString (String stringToHash) throws NoSuchAlgorithmException {
MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
byte[] stringBytes = stringToHash.getBytes();
byte[] stringDigest = sha256.digest(stringBytes);
return new String(stringDigest);
}
我不明白的是: 在这段代码中,如何设置哈希键?我需要确保在验证过程中使用相同的密钥。如果我不设置密钥,我该怎么做?
顺便说一句:我知道我应该在散列之前向散列文本添加一个盐(在这种情况下为 256 个字节)。