【问题标题】:Convert base64'd SHA1 hashes to Hex hashes将 base64 的 SHA1 哈希转换为十六进制哈希
【发布时间】:2010-05-26 15:42:20
【问题描述】:

我在 mySQL 中有一个使用

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

我需要将这些转换成相当于

$hash = sha1('some string here');

因为这些是我们的邮件系统使用的密码,我们想转换到另一个邮件系统(但要求它是 40 char hex hash :(

我如何从一种格式转换为另一种格式(我很确定我以前做过,但是反过来,虽然我找不到代码!)

作为说明,我提到数据在 mySQL 中 - 这无关紧要 - 我知道如何获取数据,只是不进行转换。

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

【问题讨论】:

    标签: php hash


    【解决方案1】:
    $binary = base64_decode(substr($hash, 5));
    $hex = bin2hex($binary);
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我没有转换散列,只是散列的打包方式。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2011-05-18
      • 2014-07-24
      • 1970-01-01
      • 2020-12-19
      • 2019-10-27
      相关资源
      最近更新 更多