2013-08-18 68 views
0

我已经在具有MySQL用户访问权限的Ubuntu服务器计算机上安装了一份教程的proftpd。现在,我已经创造了一些用户(user01user02user03)和该命令创建一个cyphered密码:将openssl控制台命令转换为PHP

/bin/echo "{md5}"`/bin/echo -n "mypassword" | openssl dgst -binary -md5 | openssl enc -base64` 
{md5}NIGde+6ruSYKXIVLyFs+RA== 

我不惭愧地说,我不明白这个命令的事情,但我想以及在PHP代码中完成相同的命令行工作。
我知道PHP中有一个OpenSSL库,但我不知道如何得到相同的结果。

+0

采用openssl命令做什么并将其分解为所有步骤实际上非常痛苦。上一次我必须用任何语言来做到这一点,它需要深入挖掘openssl源代码。这假设PHP openssl库暴露了所有必要的功能。我通常不会推荐使用juts调用命令,但在这种情况下,我强烈建议您采取这种方式,而不是试图用直接PHP实现所有这些。 – Joe

+0

我不确定OpenSSL是否应该继续发展。通常,标题在标题中是不必要的(少得多*新手*),但请按照您认为合适的方式进行调整以获得描述性有机标题。 – brasofilo

+0

我唯一需要的是获得“{md5} NIGde + 6ruSYKXIVLyFs + RA ==”作为加密“mypassword”的结果 –

回答

0

我发现它从我的自我(我感到骄傲的)

 
    `//php 
    $dgst = openssl_digest('mypassword', 'md5', TRUE); 
    echo "{md5}" . base64_encode($dgst); ` 

这将给作为结果 '{} md5的尼代+ 6ruSYKXIVLyFs + RA =='

0
echo base64_encode(md5('mypassword', true)); 

不需要甚至使用openssl扩展。