Blowfish php in C?


Blowfish php in C?

有些人可以在我的网站上注册自己。对于密码,我使用如下:

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

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

$2y$12$19ac9c3924183ab897f61uJr.j9b5cQ8NZS3rqMlNNUft9rEmtT5m

但是现在,我正在用C/c++编写程序。我希望用户在程序中输入他们的用户名和密码。

我在网上测试了一些"示例",但所有的"河豚C"都返回这样的东西:

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

是否有人有一个想法,我可以找到相同的河豚在C/c++(或相同的PHP)?

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

如果没有,您可以查看OpenBSD的crypt实现的源代码,它将包括对bcrypt哈希的支持。您可以使用该代码做您想做的事情,而不需要太多的麻烦。