我已经看到一大堆关于Blowfish和C#的问题,通常的答案是
BouncyCastle.但是,该项目基本上没有任何文档,我找不到我的目录结构,甚至找到单元测试作为例子.我的意思是,被称为Asn1,Bcpg,Crypto(一般?),EC,Ocsp,Pkcs或什么的Blowfish?我缺乏域知识,知道源代码中的所有首字母缩写词意味着什么.
有没有任何有用的文章或博客或成功使用C#BouncyCastle API的Blowfish?我的主要需要是使用Blowfish进行密码散列.
解决方法
对于密码哈希,我建议使用
bcrypt内部使用Blowfish.使用bcrypt的优点是您可以轻松地配置生成输出哈希值的成本.这是重要的,因为许多流行的哈希算法的最大问题是它们的工作非常快,这允许暴力攻击通过许多排列来找到匹配.通过指定一个大的工作因素,您可以使其运行缓慢(以计算机术语,但仍然以人为本),因此暴力攻击变得不可行.
有C#implementations已经可用.