我最近查看了有权访问的 LDAP 实例中存储的所有哈希值,并发现了一些无法解释的奇怪的事情。
尽管所有哈希值都被标记为 SSHA(应为 SHA1 种子),但大多数哈希值长度为 32 个字符,只有一小部分长度为 40 个字符。
没有明显的时间可以解释较新的更长或类似情况。
此外,据我所知,这使得大多数哈希值对于 SHA1 来说太短了。
这里发生了什么??
答案1
进一步研究后,我们得到了正确答案:
密码哈希以二进制格式存储,而不是 ASCII,而是双重 base64 编码。在这种情况下检查长度会得到 24 和 28 个字节,这对应于二进制格式 SHA-1 哈希的 20 个字节加上 4 或 8 个字节的盐值。
这在我所看到的上下文中是有意义的,我在这里回答是为了让其他人不必像我一样在 Gitlab 文档上跌跌撞撞地找到答案。