perl – 将MD5 / SHA1哈希从二进制转换为十六进制摘要
发布时间:2020-12-15 23:27:04 所属栏目:大数据 来源:网络整理
导读:我正在寻找一种方法将MD5和SHA1哈希从二进制转换为十六进制表示,反之亦然.我想在Perl中做到这一点,但也欢迎一个共同的解释. use Digest::MD5 qw(md5 md5_hex md5_base64);$data = "Plaintext";$digest_bin = md5($data);$digest_hex = md5_hex($data); 如何
我正在寻找一种方法将MD5和SHA1哈希从二进制转换为十六进制表示,反之亦然.我想在Perl中做到这一点,但也欢迎一个共同的解释.
use Digest::MD5 qw(md5 md5_hex md5_base64); $data = "Plaintext"; $digest_bin = md5($data); $digest_hex = md5_hex($data); 如何比较$digest_bin和$digest_hex,并确保它们是相同$data的哈希值? 解决方法
如果你看一下Digest :: MD5 :: Perl的源代码,它是Digest :: MD5的纯perl版本,你会看到:
sub _encode_hex { unpack 'H*',$_[0] } sub md5_hex { _encode_hex &md5 } 所以你可以这样做: if ($digest_hex eq unpack 'H*',$digest_bin) { # same data } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |