使用java以正确的方式存储密码

时间:2018-04-03 14:11:34

标签: java .net passwords byte sha1

我有一个旧系统使用.Net和用户密码已经使用SHA1存储盐,iam希望在登录时使用Java检查密码的新版本,

原始.net代码是使用此 http://www.aspheute.com/english/20040105.asp

完成的

我需要使用java,但问题是java使用带符号的字节,而.net使用unsigned,

因此两者的最终散列值不相同。

1 个答案:

答案 0 :(得分:0)

您是否看过DigestUtilsMessageDigest

MessageDigest digest = MessageDigest.getInstance("SHA1");
digest.update(password.getBytes());
digest.update(salt.getBytes());
String hash = DigestUtils.sha1Hex(digest.digest());
// or
byte[] hash = DigestUtils.sha1(digest.digest());