所有哈希算法(sha1,md5等)似乎都返回带有小写字母和数字的字符串。是否有任何算法也会返回[ ] \ , !
等符号和大写字母?
答案 0 :(得分:3)
典型的散列函数(如MD5)生成字节作为输出。这些字节通常是十六进制编码的,因此它们可以表示为文本。但是,还有其他binary-to-text编码。
答案 1 :(得分:2)
您似乎引用了哈希的十六进制-ascii表示(“字母和数字”)。这只是说“数字”的另一种方式,只有十六个符号而不是十进制的十个符号或二进制的两个符号。
您可以将哈希(只是一个与其他任何数字相同的数字)映射到您想要的任何表示。例如,你可以对hash进行base85编码,它会给你一个ascii-string,比如“> uD.RTpAKYo'+ CT / 5 + Cei#DII?(E,9)oF * 2M7 / c~>”,取决于哈希的大小。