Crypto.HashPbkdf2AndReturnBase64SaltDotHash Method
使用随机 salt 值,然后用 PBKDF2 算法对密码进行哈希处理并同时返回所用 salt 以及哈希值。
Namespace: QuickAdmin.UtilsAssembly: QuickAdmin.Net (in QuickAdmin.Net.dll) Version: 1.0.122
public static string HashPbkdf2AndReturnBase64SaltDotHash(
string password,
int saltByteSize = 16,
int hashByteSize = 32,
int iterationCount = 10000
)
- password string
- 密码。
- saltByteSize int (Optional)
- 随机 salt 的字节数。
- hashByteSize int (Optional)
- 哈希字节数。
- iterationCount int (Optional)
- 迭代次数。
string
返回所用 salt 以及哈希值的 base64 编码形式的字符串,格式为
"salt.hash"。
本类中提供的这组
HashPbkdf2/
VerifyHashPbkdf2 方法可用来进行密码的哈希生成和验证操作,并可以做到相同的密码每次生成的哈希值都不一样。
string pwd = "123456";
string salt = Crypto.GenerateRandomBase64String(16);
string hash = Crypto.HashPbkdf2(pwd, salt);
Assert.IsTrue(Crypto.VerifyHashPbkdf2(pwd, salt, hash));
Assert.IsFalse(Crypto.VerifyHashPbkdf2("654321", salt, hash));
string saltDotHash = Crypto.HashPbkdf2AndReturnBase64SaltDotHash(pwd);
Assert.IsTrue(Crypto.VerifyHashPbkdf2(pwd, saltDotHash));
Assert.IsFalse(Crypto.VerifyHashPbkdf2("654321", saltDotHash));