pzg's blog

hmailserver用户密码的加密算法

hmailserver是一个开源免费的邮件服务软件,在安装时自带有数据库,不过为了方便管理和扩展,还支持:mssql, mysql, PostgreSQL 外部数据库;用户的密码是以加密的方式放在数据库里,由于hmailserver使用自定义的加密方法,所以同样的密码,在数据库里看到的密文是不一样的;

下面是官方提供关于加密的说明(用GOOGLE翻译的),后面是我自已的理解,已测试是OK的;

盐是第6 SHA256哈希值在数据库中看到的字符。 盐是一个随机字符串。 这已经不是第6,在用户的密码字符。

1。 生成随机字符串,其中包含6个字符的字符0-9,自动对焦(十六进制字符串)。 这是盐。
2。 创建一个新字符串,温度含有盐+用户的密码。
3。 生成的SHA256哈希温度。 这是哈希。
4。 在数据库中,存储字符串盐+在密码栏哈希。

这里是用GOOGLE翻译的, 很多词语不对,不过大概意思还是能理解;
盐其实是一个随机字符串,我们就理解为每次创建密码时,生成的随机字符串;

hmailserver用户密码的加密算法是这样的:
1.假设随机字符串:8et5p9 , 假设密码是:123456;

2.将”随机字符串”和”密码”连起来:8et5p9123456;

3.将连起来的新字符串,用SHA256加密,如:hash(‘sha256′,”8et5p9123456″)
得到的密文是:2dc34747955a3546b0c71459c4be8b56a998aa32bc0f5e546872157d665d14c1

4.将”随机字符串”与”SHA256加密后的密文”连起来,
得到新密文:8et5p92dc34747955a3546b0c71459c4be8b56a998aa32bc0f5e546872157d665d14c1

《“hmailserver用户密码的加密算法”》 有 1 条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注