有些人可以在我的网站上注册。对于密码,我使用了这个:
$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/