我看过很多关于Blowfish和C#的问题,通常的答案是BouncyCastle。但是,该项目基本上没有文档,我无法找到目录结构,甚至找不到单元测试作为示例。我的意思是,Blowfish被称为Asn1,Bcpg,Crypto(一般来说?),EC,Ocsp,Pkcs还是什么?我缺乏了解源代码中所有缩略词含义的领域知识。
是否有任何有用的文章或博客或成功使用Blowfish的C#BouncyCastle API?我的主要需求是使用Blowfish进行密码散列。
答案 0 :(得分:5)
对于密码哈希,我建议使用内部使用 Blowfish 的bcrypt。使用bcrypt的优点是您可以轻松配置生成输出哈希的成本。这很重要,因为许多流行的哈希算法的最大问题是它们工作得非常快,这允许暴力攻击通过许多排列来找到匹配。通过指定一个大的工作因子,你可以使它运行缓慢(在计算机方面,但在人类方面仍然很快),因此蛮力攻击变得不可行。
C#implementations已经可用。
答案 1 :(得分:0)
另外你应该看看:Why does BCrypt.net GenerateSalt(31) return straight away? 和codeplex实现:bcrypt.codeplex.com