2013-03-19 59 views
0

有些人可以在我的网站上注册自己。对于密码,我用这个:C中的Blowfish php?

$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中相同)?

+1

PHP源代码如何? – DaveRandom 2013-03-19 14:43:57

+0

PHP代码接缝对我很好(我试图运行它,它给了我相同的结果),我认为他的问题与他无法从PHP获得相同结果的事实相关联到C++ – Jsncrdnl 2013-03-19 14:51:04

+0

@ jsn.crdnl对。 PHP又写了什么语言? ;-) – DaveRandom 2013-03-19 14:54:24

回答

0

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

如果不是,您可以查看the source code的OpenBSD的crypt实现,其中将包括对bcrypt散列的支持。你可以使用该代码来做你想做的事,而不会有太多的麻烦。

+0

谢谢你的答案,但我发现我的幸福来自DaveRandom消息的PHP源代码。 非常感谢。 – 2013-03-20 15:14:40