我在mySQL中有一个使用
生成的密码列表$hash = '{SHA}' . base64_encode(sha1('some string here', true));
我需要将这些转化为相当于
的东西$hash = sha1('some string here');
因为这些是我们的邮件系统使用的密码,我们想要转换为另一个邮件系统(但要求它是40个字符串的六角形哈希:(
我如何从一种格式转换为另一种格式(我很确定我之前已经这样做了,但另一方面,虽然我找不到代码!)
作为一个说明,我提到数据在mySQL中 - 这是无关紧要的 - 我知道如何获取数据,而不是转换它。
哈希是一样的 - 我只是试图转换信息的打包方式(我认为这只需要从base64转换为base16,但这只是猜测!)
答案 0 :(得分:16)
$binary = base64_decode(substr($hash, 5));
$hex = bin2hex($binary);
答案 1 :(得分:-3)
可以在base64_encode手册条目中找到base64_decode()
而且我确信他们有办法在sha1手动输入注释中转换原始格式,如果你自己写的太难了