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

时间:2014-08-24 11:19:23

标签: c# asp.net-mvc encryption

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

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

麻烦的是密码和生成的盐大约有100个字符,我真的只是想让它缩短很多,所以它适合数据库中的表。用户最多只能输入20个字符

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

1 个答案:

答案 0 :(得分:0)

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

将哈希截断为20个字符。 20个base64字符应该足够强大的密码。那个6*20=120比特的熵可能比几乎所有用户的密码都多。