给出了给定输入的256位哈希值.当我尝试时,我得到了一个随机输入字符串的下面的散列:
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824此散列有64个字符。考虑到常见的编码方式,其大小将是:
UTF-8 = 64 *8= 512位
UTF-16 = 64 * 16 = 1024位
那怎么叫256位哈希呢?我是不是做了不正确的转换?
发布于 2017-04-20 12:48:07
字符串2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824是一个十六进制编码的字符串.它是以基本16个数字表示的字节,因此每2个字符表示一个字节。
所以2c是第一个字节,f2是第二个字节等等。由于字符串有64个字符,它表示32个字节。
和32字节= 256位
发布于 2017-04-20 12:48:00
这是byte 16/十六进制表示,它每个字节只有4 (log2 16)位数据。
因此,这里的sha256是4*64。没什么不对。
https://stackoverflow.com/questions/43519587
复制相似问题