winapi的bcrypt.h实际上是否支持bcrypt哈希?

时间:2012-03-14 22:57:34

标签: windows winapi windows-vista bcrypt cng

这可能听起来像一个奇怪的问题,我实际上不得不问这个问题感觉有点奇怪,但是花了几个小时查看MSDN文档中的Vista中添加的bcrypt例程,我几乎得出结论,没有实际的bcrypt支持!

根据维基百科:

  

bcrypt是密码的自适应加密哈希函数   ...基于Blowfish密码...除了合并一个   为了防止彩虹表攻击,bcrypt是一种自适应的   哈希:随着时间的推移,它可以变得越来越慢,所以它仍然存在   抵抗针对哈希和哈希的特定暴力搜索攻击   盐。

但是,从MSDN上的文档中," bcrypt"库显然实际上是加密和散列的通用接口。您必须获得"算法提供程序的句柄"通过BCryptOpenAlgorithmProvider function,它有几个内置算法可供选择。但是" blowfish"没有出现在列表中的任何位置。

所以我错过了什么?我读错了吗?或者Windows" bcrypt"库实际上并不支持bcrypt

1 个答案:

答案 0 :(得分:4)

BCrypt API是通用的,支持各种加密哈希算法,但是bcrypt不是其中之一。 B前缀似乎只是区分旧API和下一代的一种方式。