将base64'd SHA1哈希转换为Hex哈希

时间:2010-05-26 15:42:21

标签: php hash

我在mySQL中有一个使用

生成的密码列表
$hash = '{SHA}' . base64_encode(sha1('some string here', true));

我需要将这些转化为相当于

的东西
$hash = sha1('some string here');

因为这些是我们的邮件系统使用的密码,我们想要转换为另一个邮件系统(但要求它是40个字符串的六角形哈希:(

我如何从一种格式转换为另一种格式(我很确定我之前已经这样做了,但另一方面,虽然我找不到代码!)

作为一个说明,我提到数据在mySQL中 - 这是无关紧要的 - 我知道如何获取数据,而不是转换它。

哈希是一样的 - 我只是试图转换信息的打包方式(我认为这只需要从base64转换为base16,但这只是猜测!)

2 个答案:

答案 0 :(得分:16)

$binary = base64_decode(substr($hash, 5));
$hex = bin2hex($binary);

答案 1 :(得分:-3)

可以在base64_encode手册条目中找到base64_decode() 而且我确信他们有办法在sha1手动输入注释中转换原始格式,如果你自己写的太难了