我有一个用户数据库及其加密形式的密码。我想让用户使用用户名和密码登录该站点。对于身份验证,我需要知道它们的加密类型,以便我可以将输入的密码与存储的密码相匹配。我尝试了很多算法,但我无法锻炼加密机制。这是一个测试用例
原始密码:alvin
数据库中的密码:f9b0213127225c1c74d6662dee8acca297eff9e0
密码加密:sha1_v2.4。
盐:9j1jyse241v7cw0s8okkssgg448wgcogsggoww0
我想要做的是从原始密码在DB中创建密码。
有关如何将原始密码转换为DB中的密码的任何提示
P.S该表由silverstripe CMS创建
修改:
我们不再使用silverstripe CMS并将我们的网站转换为移动应用程序。因此,使用silverstripe或其功能不是一种选择。但是,我们使用成员表,其中包含所有成员的数据,包括身份验证信息。
答案 0 :(得分:3)
OP的评论中有很多仇恨。但它被误导了 - OP 没有尝试解码 任何东西(并在论坛上更好地解释了它:http://www.silverstripe.org/community/forums/migrating-a-site-to-silverstripe/show/101337)
简而言之,就是尝试使用SilverStripe的数据库从外部源 对用户进行身份验证(因此直接使用成员类isn'事情)。
加密方法存储在Member表中,默认情况下为'blowfish',并且可以按用户更改。 您需要三个数据字段:
第一个定义如何使用第二个,然后允许计算第三个(并因此检查)。
合理标准的东西。有关更详细/特定的信息,请参阅此处定义的类(参见“直接已知的子类”): http://api.silverstripe.org/3.1/class-PasswordEncryptor.html