【问题标题】:How to convert string like md5 hash into a raw binary string? [duplicate]如何将 md5 哈希之类的字符串转换为原始二进制字符串? [复制]
【发布时间】:2012-11-09 18:34:18
【问题描述】:

可能重复:
How to convert hexadecimal representation of data to binary data in PHP?

如何将基于 md5 哈希字符串的表示转换为其原始二进制格式?

请注意md5($data,true) 不是一个选项,因为我无权访问$data,但只能以字符串格式对其进行 md5 哈希。

【问题讨论】:

    标签: php hash md5


    【解决方案1】:

    使用 hex2bin http://php.net/manual/de/function.hex2bin.php(适用于 PHP >= 5.4)

    $bin = hex2bin(md5($data));
    

    如果您没有 PHP 5.4,请尝试像这样的用户实现 http://devcorner.georgievi.net/pages/programming/php/hex2bin-php

    【讨论】:

    • 谢谢,但如上所述,我无法访问 $data 加上您的解决方案可以通过以下方式更简单地完成:md5($data,true)
    • 或者,文档中 cmets 中的替代方案...pack("H*" , $hex_string);
    • Wrikken,我已经尝试过您的解决方案,但我得到:pack(): Type H: illegal hex digit 错误
    • @Marcin:这里的所有答案都可以使用十六进制字符串(Varon 在 PHP >=5.4 中也是如此),那么......可能不会是十六进制字符串。你能把你正在测试的字符串粘贴到这里吗?
    • @Wrikken 我收回了一切。我没有注意到,但我的 md5 用双引号引起了上述错误。请发表您的评论作为答案,以便我接受。干杯
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 2011-11-29
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    相关资源
    最近更新 更多