这可能听起来像一个奇怪的问题,我实际上不得不问这个问题感觉有点奇怪,但是花了几个小时查看MSDN文档中的Vista中添加的bcrypt
例程,我几乎得出结论,没有实际的bcrypt支持!
根据维基百科:
bcrypt是密码的自适应加密哈希函数 ...基于Blowfish密码...除了合并一个 为了防止彩虹表攻击,bcrypt是一种自适应的 哈希:随着时间的推移,它可以变得越来越慢,所以它仍然存在 抵抗针对哈希和哈希的特定暴力搜索攻击 盐。
但是,从MSDN上的文档中," bcrypt"库显然实际上是加密和散列的通用接口。您必须获得"算法提供程序的句柄"通过BCryptOpenAlgorithmProvider function,它有几个内置算法可供选择。但是" blowfish"没有出现在列表中的任何位置。
所以我错过了什么?我读错了吗?或者Windows" bcrypt"库实际上并不支持bcrypt ?
答案 0 :(得分:4)
BCrypt API是通用的,支持各种加密哈希算法,但是bcrypt不是其中之一。 B前缀似乎只是区分旧API和下一代的一种方式。