C# 用“哈希”对密码进行哈希运算$2y$”;标识符

C# 用“哈希”对密码进行哈希运算$2y$”;标识符,c#,uwp,moodle,C#,Uwp,Moodle,我有上面这样的代码,它们工作正常,但我将在moodle项目中使用它们,所以我需要用“2y$”标识符散列我的密码 我能用什么?我不能使用cryptsharpofficial之类的nuGetPackages,因为当我想在Windows 11月10日更新(10586)中使用它时,它会出现错误。我刚刚安装了“BCrypt.Net Next”,下面显示的代码运行良好: String strAlgName = HashAlgorithmNames.Sha1; HashAlgorithmProvider o

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

我能用什么?我不能使用cryptsharpofficial之类的nuGetPackages,因为当我想在Windows 11月10日更新(10586)中使用它时,它会出现错误。

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

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();
感谢@iainn,他的评论链接:

$2y$
是bcrypt/blowfish变体的
crypt
方案ID-查找支持此功能的C#库。例如,Moodle是一个php项目,它使用password#hash命令存储密码。如果我想在mysql中添加数据,我需要使用“2y$”标识符。否则密码不起作用。“bcrypt.net”是否支持10586更新?
string hashedPassword = BCrypt.Net.BCrypt.HashPassword(passToHash);