Kangsheng系列产品,包括Discuz,Uchome,Suchome,Suchome相同的用户系统–UCEnter,用户的登录密码也保存在UCenter中,将数据集成或导出到UCenter系统中的其他系统,通常密码发电,这里讨论UCenter的用户加密算法规则和方法。
密码通常使用MD5来保存用户密码哈希,保存在数据库中的方法,如果黑客获取此哈希值,那么字典用于猛烈,如果此字典数据库足够大,而且字典是符合人们的设置习惯,很容易普通密码,所以uCenter使用盐来防止这种剧烈的裂缝,盐是一个随机字符串,它与密码连接,然后用单向函数运行,然后用单向函数运行然后,盐值是每个单向函数操作的结果存储在数据库中。如果可能的盐值的数量足够大,它实际上它实际上消除了使用公共密码的字典攻击,因为黑客无法存储数据库中的许多盐和用户密码组合。
UCenter的创始人密码保存在文件中,打开uc下面的uc /data/config.inc.php文件,保存的uc_founderpw是密码,而Uc_foundersalt保存salt值,创始人密码创建规则是:uc_founderpw = md5(密码.uc_fondert),只需传递密码md5,然后添加salt,然后再次md5,生成的散列值被保存在config.inc.php文件中,因此修改了uc_founderpw中的值,可以修改UCenter创始人密码。
UCenter的用户信息将保存在UC_Members表中。在此表中,每个用户具有不同的随机盐字段,表中的密码字段是计算的密码,密码计算规则为$ password = md5(MD5(MD5)$密码)。 $ salt),即在用户密码MD5之后,添加盐,然后在密码字段中保存它。
因此,如果可以执行不同系统的数据转换,则在计算其他系统的用户名和密码之后,将导入UCENTER的UC_MEMBERS表,并实现用户的迁移。例如,如果原始系统使用诸如MD5(密码)的算法来保存密码,则通过随机性生成盐,然后计算MD5的数量,即增加的UCENTER中的用户密码UCenter。哈希值实现用户的无缝迁移。
但是,如果由MD5(密码+ salt)保存的密码使用原始系统,则无法实现密码的平滑,即使迁移,它也只能添加一个盐来添加UCENTER的密码即可使用它。因此,当我们设计系统用户密码时,我们应该使用MD5(密码+ Salt)来保存密码,以便您可以轻松实现和UCenter接口,并确保安全性,通常为自建系统使用用户名来做盐是一种简单的方式。