php - C 中的河豚 php?

标签 php c++ c encryption blowfish

有些人可以在我的网站上注册。对于密码,我使用了这个:

$key = "thisisasuperkey"; 
$key_crypted = md5($key); 
$pass = "thisisasuperpassword"; 
$pass_crypted = crypt($pass, '$2y$12$'.$key_crypted.'$');

这段代码返回给我类似的东西:

$2y$12$19ac9c3924183ab897f61uJr.j9b5cQ8NZS3rqMlNNUft9rEmtT5m

但是现在,我正在用 C/C++ 构建一个程序。我希望用户在程序中输入他们的用户名和密码。

我在互联网上测试了一些“示例”,但所有“blowfish C”都返回类似的内容:

d00a0a19e5d7155ae6ac6e..........ce1072f5

有人知道我在哪里可以找到 C/C++ 中的相同河豚(或 PHP 中的相同河豚)吗?

最佳答案

crypt(3)是 glibc 中出现的一个函数。也就是说,基于 bcrypt/blowfish 的 crypt 实现(用字符串 $2a$ $2x$$2y$ 标识)不包含在主线实现。不过,一些 linux/BSD 发行版通过补丁添加了支持,因此这对您来说可能就足够了。

如果没有,您可以查看the source code OpenBSD 的 crypt 实现,其中包括对 bcrypt 哈希的支持。您可以使用该代码做您想做的事情,而不会遇到太多麻烦。

关于php - C 中的河豚 php?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15502443/

相关文章:

php - Apple 推送通知 - PHP - SSL 操作失败,代码为 1

php - 如何在 php 中创建 html 表

php - 重写index.php最佳实践

c++ - C++ 中的两个颜色线性渐变 .ppm 文件

c - C 中 atoi() 函数的使用

php - PHP 和 MySQL 中唯一访问次数的有效计数器

c++ - 结构中的 vector 初始化

c++ - 以编程方式按下Qt中的键盘按钮

c - 如何保护注册表不使用 deleteservice?

c - 使用原始 rijndael 构建 PHP 扩展,正确加密/解密,但尾随额外字节