以前吧,接触到的系统,密码都是存储在关系型数据库中,而且基本上都是MD5之后存储的,所以要去数据库找密码很容易,找到密文之后,通过网上的反查工具,也很容易得到密码。
最近在折腾一个认证服务器,当然,它用的LDAP,一直没接触过,费了一些功夫,才连进去,然后找到了存储的密码,形如:
{SSHA}C4ClTKEd1RlJ0M2pAbJ8y85wT/KcFzRt3GPUBA==
经过网上的资料一顿搜索,然后用程序来拼接字节数组进行计算,终于验证了它的加密存储的规则:
存储的密码密文={SSHA}+base64(SHA1(明文密码+盐)+盐)
其中,SHA1的结果是20个字节,盐是8个字节。程序代码就不贴了,有兴趣的朋友自己去折腾吧!
当然,不同的LDAP服务器可能会配置不同的密码加密存储策略,有MD5,有SHA的,它们的加密存储策略可能更简单。
LDAP中SSHA形式的密码存储
最新推荐文章于 2024-04-17 17:00:02 发布