Rub*_*era 1 php migration passwords hash cakephp
我很久以前就建了一个网站.用SQL的原始PHP.现在我正在使用CakePHP做一个新版本,这意味着我想要遵循许多约定,也就是说,我希望尽可能地保持cakePHP的方式.
但:
有一个用户表,我试图在新版本上分成两个新的,添加字段和划分用户标识字段和使用统计字段,我仍然在寻找最好的方法来做到这一点,这不是主要的问题,但任何帮助将不胜感激.表名称不同,以适应约定,字段已更改.我仍然需要对此进行一些研究.
旧站点使用sha1()来散列密码,我想知道是否有机会保留记录而不会让所有用户再次注册.
我发现了一些破解技巧,比蛮力更快.嗯,他们说他们更快,但我有大约1000名用户.此外,我认为破解用户密码以使我的工作更轻松是合法的,也不符合道德规范.所以开裂似乎是不可能的.
我想只是按原样复制记录并为它们设置"重置密码",这样他们就可以再次登录,并将代码发送到他们在注册时提供的电子邮件.这不是一个非常糟糕的选择,但我只有在没有别的办法时才会这样做.
嗯,有没有办法做到这一点?
即使您要破解SHA-1哈希值,您也不确定是否找到了真实密码或仅发现了冲突.所以你不能用不同的哈希算法重新发现这些找到的密码.
没有必要重置密码,您可以等到用户下次登录.
每个密码存储系统都必须具有切换到更好的哈希算法的选项,您的问题不是一次性迁移问题.像BCrypt这样的好密码哈希算法有一个成本因素,有时你必须增加这个成本因素(因为硬件速度更快),那么你需要完全相同的程序来进行迁移.
我真的建议切换到像BCrypt这样的慢速密钥派生函数,而不是像SHA-1甚至SHA-256那样的快速哈希算法,因为它们太快了,而且很容易被强制使用(3千兆SHA-1) 2013年每秒的价值).