【发布时间】:2018-06-27 11:45:09
【问题描述】:
我有一个二进制哈希:
var hash = PasswordHash.ArgonHashBinary(Encoding.ASCII.GetBytes(passwd), salt,StrengthArgon.Interactive)
请告诉我如何转换方法ArgonHashBinary()返回的字节数组,以便我可以使用ArgonHashStringVerify()验证我的密码。
附:没有方法可以让我直接从二进制哈希验证密码,即没有 ArgonHashBinaryVerify() 方法。
人为的示例代码:
var salt = PasswordHash.ArgonGenerateSalt();
var passwd = "ABCD";
var hash = PasswordHash.ArgonHashBinary(Encoding.ASCII.GetBytes(passwd), salt,StrengthArgon.Interactive);
if (ArgonHashStringVerify(hash, passwd))
{
// password match
}
else
{
// error
}
【问题讨论】:
-
如果您能提供minimal reproducible example 并清楚您正在使用哪个库提供
ArgonHashBinary,那就太好了。 -
添加了人为的示例代码以便进一步说明。
-
可能是 Libsodium 的 .NET 端口 (github.com/adamcaudill/libsodium-net)
标签: c# .net cryptography libsodium argon