将 md5 哈希截断为 20 个字符?
truncate md5 hash to 20 characters?
如果 md5hash 电子邮件地址并将哈希值截断为 20 个字符,是否可以计算它的独特性?
截断开头或结尾有关系吗?
它将在 AD 中用作 samaccountname。
可能的唯一结果的数量将从 2^128
(32 个字符 * 4 位)减少到 2^80
(20 个字符 * 4 位)。
在任何一点(开头、中间或结尾)截断结果不会影响熵,只会增加碰撞的可能性。在 2^80
种可能性下,您应该没有任何问题。
如果发生碰撞会怎样?您可能会安全地假设对手能够创建两个电子邮件地址,这些地址在 MD5 下散列为相同的值。
如果这是一个问题,您可能需要考虑一种替代方案(如 HMAC),这种方案更难产生冲突,尤其是在不知道 HMAC 密钥的情况下。
如果 md5hash 电子邮件地址并将哈希值截断为 20 个字符,是否可以计算它的独特性? 截断开头或结尾有关系吗? 它将在 AD 中用作 samaccountname。
可能的唯一结果的数量将从 2^128
(32 个字符 * 4 位)减少到 2^80
(20 个字符 * 4 位)。
在任何一点(开头、中间或结尾)截断结果不会影响熵,只会增加碰撞的可能性。在 2^80
种可能性下,您应该没有任何问题。
如果发生碰撞会怎样?您可能会安全地假设对手能够创建两个电子邮件地址,这些地址在 MD5 下散列为相同的值。
如果这是一个问题,您可能需要考虑一种替代方案(如 HMAC),这种方案更难产生冲突,尤其是在不知道 HMAC 密钥的情况下。