【发布时间】:2014-02-05 14:12:04
【问题描述】:
我有一个带有集中用户数据库的系统,其中存储了不同应用程序的用户名和密码。 该数据库是在 PostgreSQL 中创建的。 FreeRDAIUS 通过使用 PostgreSQL 作为后端系统的 OpenLDAP 访问用户和密码。密码应该以哈希格式存储。 我已经使用存储在数据库中的 SHA1 密码测试了 FreeRADIUS,并且用户已成功通过身份验证。我存储了带有 {SHA} 的摘要,它运行良好。但是,此散列需要使用 base64 格式,并以“=”作为填充字符。我使用 ldap 实用程序 slappasswd 生成了 base64 哈希摘要。
因为实际上,我应该使用 C 函数将用户插入数据库,而可用的加密库(如 OpenSSL)仅提供十六进制哈希函数,我认为最好的方法是知道如何告诉 FreeRDAIUS 该摘要存储在数据库中的不是 base64 而是 HEX。
有人知道我该怎么做吗?似乎如果我只是将 {SHA} 放在散列值之前,它只适用于带有 FreeRADIUS 的 base64。我也想知道FreeRADIUS是否支持SHA256等其他哈希算法。
操作系统:Ubuntu 12.04 LTS PostgreSQL:9.1 FreeRADIUS:2.1.10
【问题讨论】:
标签: postgresql ubuntu-12.04 sha freeradius