有人要求我将散列数据存储在 LDAP 服务器中。输入散列密码很容易,但我不确定 LDAP 是否允许存储电子邮件等散列数据甚至加密数据。
创建带有字符串“{MD5}contents”的 LDIF 文件不会出现任何错误,但我不知道如何在存储后检索此信息。
有什么帮助吗?
答案1
这里没有什么魔法 - 您可以将散列数据存储在任何文本字段中,您只需要在数据进入服务器之前对其进行散列(如果密码看起来是纯文本,大多数 LDAP 服务器都会为您散列密码 - 对于其他文本字段类型,则不会为您完成此操作)。
类似地,您可以将加密数据存储在任何文本字段中(只要它可以表示为文本) - 只需在放入之前加密,在取出之后解密。
关于术语的说明:
A单向哈希(我们对密码所做的)是不是和...一样可逆加密(我们对数据所做的操作,例如使用 SSL)。
使用单向哈希,您(理论上)永远无法再次取回数据。如果您存储电子邮件地址的 MD5 哈希,您可以稍后验证用户是否提供了相同的电子邮件地址(因为哈希将匹配),但您不能告诉他们根据哈希值给你的电子邮件地址是什么。