哈希输出默认均为十六进制编码?我的该假设是否成立?
哈希输出默认是十六进制编码吗?
MD5哈希算法生成128比特(=16字节)长度的输出,SHA256哈希算法生成256比特(=32字节)长度的输出。
bash-3.2$ md5 <<< 'hash' 4e76434eea3c9d9cf9cb10bbf3f4a74b // 32个字符的字符串 bash-3.2$ bash-3.2$ shasum -a 256 <<< 'hash' 4e5e494fa316ffc82b8252b23524f1433639858267d641c1217059dc4403e045 // 64个字符的字符串 bash-3.2$
根据上述输出可知:
MD5生成32个字符的十六进制字符串,SHA256生成64个字符的十六进制字符串。
基于此,我提出假设:哈希输出始终采用十六进制编码,原因是输出字符串的大小为对应哈希算法原始输出大小的两倍,且仅包含十六进制编码允许的字符。请问我的这一假设是否正确?
内容的提问来源于stack exchange,提问作者RBS
相关产品推荐
相关产品推荐

