繁体   English   中英

.NET实现scrypt

[英].NET implementation of scrypt

在某些情况下,我已经阅读了关于scrypt及其优于bcrypt哈希算法的一些优点。

无论如何,似乎scrypt还没有被广泛使用。 到目前为止有没有人见过它的.NET实现(在C#中受到青睐)?

最后,我在CryptSharp库中找到了C#中的scrypt实现。
该库是开源的,使用ISC许可证

版本历史

1.2.0 2011年1月23日:
现在支持SCrypt KDF作为CryptSharp.Utility.SCrypt。
添加了SCrypt所需的djb的Salsa20。

这里有一个新的SCrypt for .NET实现: https//github.com/replicon/Replicon.Cryptography.SCrypt

与CryptoSharp不同,CryptoSharp是一个很棒的库,它可以作为本机库的打包包装器实现。 这允许它使用本机级指令(如SSE2)来提高实现的性能。

缺点是它必须包含本机编译的程序集,检测正确的程序集,解压缩它,然后加载它。 这意味着它并不适合所有环境,但它在有效的地方运行良好。

如果像我一样,你通过快速谷歌来到这个问题(作为顶部链接)你现在可以将SCrypt作为Nuget包下载到你的项目中。

PM> Install-Package Scrypt.NET

使用方法如下:

ScryptEncoder encoder = new ScryptEncoder();
string hashsedPassword = encoder.Encode("mypassword");

和比较

ScryptEncoder encoder = new ScryptEncoder();
bool areEquals = encoder.Compare("mypassword", hashedPassword);

Github链接在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM