【问题标题】:How to do a md5 hash of some hex values?如何对一些十六进制值进行 md5 哈希?
【发布时间】:2011-10-25 22:50:35
【问题描述】:

我是 php 的新手。我需要做的是对一些十六进制值进行 md5 散列。例如,我想做一个 0x14 的 md5 哈希。实际的哈希值是:

15f41a2e96bae341dde485bb0e78f485

但我无法在 PHP 中重现。

md5 (0x14);

没有用,甚至

md5(chr(hexdec(14)));

不起作用。导致它不是一个实际的角色

我尝试了所有我能想到的可能性,在互联网上搜索了无数小时,仍然一无所获。我怎样才能做到这一点?

【问题讨论】:

  • 注意0x14'0x14'不一样——前者是单个字符,后者是4个字符的字符串。

标签: php hex md5


【解决方案1】:
php> echo md5(chr(0x14))
15f41a2e96bae341dde485bb0e78f485

【讨论】:

    【解决方案2】:

    这对我有用

    md5(chr(0x14)); //15f41a2e96bae341dde485bb0e78f485

    【讨论】:

      【解决方案3】:

      您可以将二进制值写入任何double quoted string with the hexadecimal escape sequence,也许这会有所帮助(Demo):

      md5("\x14"); # 15f41a2e96bae341dde485bb0e78f485
      

      【讨论】:

      • 看到所有这些解决方案我感觉自己很傻,但我自己找不到任何解决方案。使用 \x14 非常有趣。谢谢
      • 感谢您和您提供的链接,我不需要先将八进制值转换为十六进制。我想做 md5 散列的实际值是 \024 。通过发出 md5("\024");
      • 很高兴看到它是指向正确方向的指针。你只能知道你知道的,愚蠢的只是停止学习:)
      【解决方案4】:

      hexdec 接受一个字符串,所以如果你引用'14',你的例子就可以工作

      md5(chr(hexdec('14')));
      

      或者,您可以使用hexadecimal numeric literal

      md5(chr(0x14));
      

      【讨论】:

        猜你喜欢
        • 2014-07-24
        • 2018-02-22
        • 1970-01-01
        • 2011-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-02
        • 2010-10-11
        相关资源
        最近更新 更多