我正在运行一个服务,它在应用程序的两个方面使用SHA-256 - 一个是服务端PHP实现,另一个是客户端iOS实现。在两个方面都使用该算法的结果是相同的字母数字字符串,唯一不同的是iOS上的所有字母都是大写的,而PHP上则为小写。它们是相同的字母数字字符串这一事实让我相信SHA-256是大小写不敏感的,但我找不到任何支持我的假设的文档。有人能给我展示一些文件来证实这一点吗?
没有一个合适的加密哈希函数是不区分大小写的,因为这样会更容易产生碰撞。输出结果则是另一回事。它基本上是一个大数字(所以大小写不适用),但为了方便起见,它以十六进制表示,即使用字母a到f作为附加数字。十六进制表示法确实不区分大小写,或者至少常见的是有大小写变体的。这并不重要,也不会改变所表示的数字。
SHA
系列都是二进制算法,它们不了解大小写,因此它们不能是大小写不敏感的。