如何限制加密和盐的长度

本文关键字:何限制 加密 | 更新日期: 2023-09-27 18:19:12

我目前正在使用SimpleEncrypto NuGet包加密我的密码,如下所示:

var crypto = new SimpleCrypto.PBKDF2();
var encrypPass = crypto.Compute(user.Password);
var newUser = db.Users.Create();
newUser.PasswordSalt = crypto.Salt;

问题是密码和生成的盐大约100个字符,我真的只是想保持它短得多,所以它将适合数据库中的表。用户最多只能输入20个字符

如何限制加密和盐的长度?

如何限制加密和盐的长度

首先,您不是在加密而是散列。您可以将哈希截断为您喜欢的任何长度。当然,截断哈希越多,冲突的风险就越大。

将散列截断为20个字符。对于密码来说,20个base64字符应该足够了。这是6*20=120位熵这可能比几乎所有用户的密码都要多