转换base64'd SHA1哈希为十六进制哈希
$hash = '{SHA}' . base64_encode(sha1('some string here', true));
我需要把这些转换成这将是相当于生成的密码的MySQL中的列表
$hash = sha1('some string here');
由于这些是我们的邮件系统使用的密码,我们想要转换为另一个邮件系统(但要求它是40字符的十六进制哈希:(
我将如何从一种格式转换为另一种(我PRET虽然我找不到代码!)
作为一个说明,我提到数据是在MySQL中 - 这是无关紧要的 - 我知道如何获得数据,只是不转换它。
哈希是相同的 - 我只是试图将信息打包的方式(我认为这只是需要从BASE64至base16转换,但是这只是一个猜测!)
$binary = base64_decode(substr($hash, 5));
$hex = bin2hex($binary);
好base64_decode()
可以转换在base64_encode手册条目中找到。
而且我相信他们有办法将原始格式转换的SHA1手工录入的意见,如果是太难为你自己编写
我不转换哈希,就是这个样子的散列包装。 – Mez 2010-05-26 15:46:15
是啊,我读得太快了 – 2010-05-26 15:49:59
堆栈溢出 - 当你有一个大脑放屁的地方! - 欢呼声......当它让我接受时,我会接受 – Mez 2010-05-26 15:54:48
先生,**世界上没有足够的赞扬**来感谢你** ...... – xDaizu 2016-03-01 13:04:02