证书指纹是否保证为小写

Is the certificate thumbprint guaranteed to be lowercase

我有一个数据存储,其中包含我正在使用的系统使用的所有证书的指纹值。通过数据存储(有数千个条目),我看到所有指纹值都是小写的。我尝试在线搜索以确定指纹是否保证为小写,但找不到明确的答案。

我关心这个的原因是因为用于从数据存储中获取数据的查询当前正在尝试将所有值转换为小写,然后再与传入值进行比较,这会导致性能问题。我正在尝试确定是否可以删除大小写转换。

有人可以确认指纹是否总是小写吗?

指纹是一个计算字段。它是证书二进制数据的散列。可以使用不同的算法(例如 MD5、SHA1 或 SHA256)计算散列。

指纹是小写还是大写并不重要。这取决于显示结果的软件。但请注意,如果您应用不同的哈希算法,内容将有所不同。

实际上指纹是一个数字(好吧,实际上是一堆可以解释为数字的字节),你看到的小写是十六进制表示那个数字。

例子(小数),考虑这个单字节:

  • 00001111(二进制)

十进制为15,十六进制为0f。所以我可以把它写成字符串 0f0F。它是小写还是大写都没有关系,因为它代表相同的值(相同的字节)。基本上这就是指纹的显示方式。

因此不能保证总是小写,因为这取决于您使用的工具。