SHA-256 是否不区分大小写?
我正在运行一个在应用程序的两端使用SHA-256的服务 - 一个是服务器端PHP实现,另一个是客户端iOS实现。在两端使用算法的结果是相同的字母数字字符串,除了所有字母在iOS上都是大写的,而在PHP上都是小写的。它们是相同的字母数字字符串这一事实使我相信SHA-256不区分大小写,但我找不到任何支持我的假设的文档。有人可以给我看一些文档来确认这一点吗?
我正在运行一个在应用程序的两端使用SHA-256的服务 - 一个是服务器端PHP实现,另一个是客户端iOS实现。在两端使用算法的结果是相同的字母数字字符串,除了所有字母在iOS上都是大写的,而在PHP上都是小写的。它们是相同的字母数字字符串这一事实使我相信SHA-256不区分大小写,但我找不到任何支持我的假设的文档。有人可以给我看一些文档来确认这一点吗?
如果您指的是十六进制字符串输出,那么是的,这是不区分大小写的。它是二进制数据的文本表示形式。
http://en.wikipedia.org/wiki/Hexadecimal
算法本身绝对是区分大小写的。
没有像样的加密哈希函数是不区分大小写的,因为那样产生冲突会容易得多。输出是另一回事。它基本上是一个很大的数字(所以大小写不适用),但为了方便起见,它以16为基数给出,即使用字母a到f作为附加数字。十六进制表示法确实不区分大小写,或者至少大写和小写变体都是常见和公认的。这无关紧要,也不会改变所代表的数字。