The*_*can 2 php binary encoding numbers
在阅读Sha1-PHP Manpage时,这个问题出现了
它说:
如果可选的raw_output设置为TRUE,则sha1摘要将以原始二进制格式返回,长度为20,否则返回的值为40个字符的十六进制数.
对我来说,"二进制格式"是一系列逻辑真值或假值.通常用0和1表示.
如果您有20个并且将它们解释为数字,则您的数字范围为2 ^ 20.
对于40位十六进制数,这将是16 ^ 40,这比2 ^ 20大约1.4*10 ^ 42倍.
如果var_dump原始输出你只是乱码,如果你bin2hex它们,你最终得到如上所述的如此大的十六进制数.
所以我对问题主题的解释肯定是胡说八道.究竟什么是"长度为20的原始二进制格式"?
在这种情况下,"原始二进制"表示原始字节.
SHA-1摘要是160位长,或20个字节.
许多系统使用ASCII表示格式,即40个十六进制字符,但有时您需要原始数据.
例如,DNSSEC在区域文件中存储签名或显示输出时使用ASCII十六进制dig,但"在线"则使用原始格式.