使用“$2y$”标识符散列密码

Hashing Password with "$2y$" identifier

String strAlgName = HashAlgorithmNames.Sha1;

HashAlgorithmProvider objAlgProv = HashAlgorithmProvider.OpenAlgorithm(strAlgName);
CryptographicHash objHash = objAlgProv.CreateHash();

String strMsg1 = "test";
IBuffer buffMsg1 = CryptographicBuffer.ConvertStringToBinary(strMsg1, BinaryStringEncoding.Utf16BE);

objHash.Append(buffMsg1);

IBuffer buffHash1 = objHash.GetValueAndReset();

我有上面这样的代码,它们工作正常,但我要把它们用于 moodle 项目,所以我需要用“2y$”标识符散列我的密码。

我能用什么?我不能像 cryptsharpofficial 那样使用 nuGetPackages,因为当我想在 Windows 11 月 10 日更新 (10586)

中使用它时它会出错

我刚刚安装了 "BCrypt.Net-Next",下面显示的代码运行良好:

string hashedPassword = BCrypt.Net.BCrypt.HashPassword(passToHash);

感谢@iainn,他的评论link: