sha256 在不同场景计算出了不同长度的字符串,类似的也存在于其它 hash 算法中。

计算结果及字符

计算结果是二进制值,长度由算法决定,如 sh256 结果是 256 个二进制位。

字符通常是将这些二进制以一定规则转换成字符,方便书写。

转换规则

一般字符串长度有 52、64 等。长度主要由一个字符代表几个二进制位来决定。

如以十六进制字符(0-9A-F)转换,那么一个字符可以代替 16 位,二个字符为一字节。计算可知 256 位即 64 个字符。

如以 BASE32 转换(一个字符有32个值),一个字符代替 5 位,256 位即 51.2 个字符,进位得 52。

类似的还有 BASE64 等。