使用 bcrypt 散列密码进行身份验证

Authentication with bcrypt hashed password

在我的 C++ 应用程序中,用户必须登录才能使用该应用程序。 用户登录数据取自 phpBB 3.1 数据库,该数据库用于密码哈希 bcrypt。但是,我没有找到适合C++的例子。

所以我的问题是:

如何在 C++ 中使用 bcrypt 散列密码对用户进行身份验证?我知道如何在 C++ 中从外部数据库进行身份验证,我只需要 bcrypt 方面的帮助。

谢谢!

BCrypt 确实没有那么普遍,但是有一个 Whosebug question on What's the recommended Bcrypt C implementation? that will point you to Openwall's crypt_blowfish.

如果有一个可靠的 C 实现,您只需要一个包装器就可以开始使用您的 C++ 代码!

我还要指出,最有用的 Google 结果实际上就是这个问题。特别是,Crypto++ 库的计划功能列表中仍然包含 BCrypt。

使用时不要忘记将功因数提高到12或14以上!

一旦你有了一个有效的实现,如果你想提供一个合理的开源许可证,我很乐意将它包含在 my Github repository 中以提供 PBKDF2 示例的替代方案!