2017-08-31 32 views
-1

我正在维护Opencart网站。现在我要更新oc_customers表。想要更改现有的Opencart数据库密码格式

我想将现有客户的密码(md5 +盐)转换为简单的密码格式。

我不想使用过于复杂的格式。我想维护密码就像base64_encode($ testPassword);对于新客户来说,这不是问题。

但对于现有客户,我不知道如何更改md5 + salt - > normal - > base64_encode?

+1

向我们展示一些代码,您尝试了什么?这些尝试如何失败? – Chiperific

+0

我不想使用太复杂的格式。我想维护 密码就像base64_encode($ testPassword); 对于新客户那是没有pblm。但对于现有客户, 我不知道如何更改md5 + salt - > normal - > base64_encode? – Ived

+0

密码格式(md5 + salt)维护比转换比如md5 + salt - > normal - > base64_encode容易。 – Ived

回答

0

对于初学者来说,这是一个坏主意,因为在存储密码时密码salting是一项重要且非常标准的操作。它实现的主要目的是在恶意第三方访问数据库的情况下保护用户。如果发生这种情况,攻击者将不得不分别强制每个密码,这会降低攻击速度并防止攻击者使用预先计算的彩虹表。

如果您真的想这样做,那么您将不得不支持两种身份验证方法,并添加一个标志,每个客户使用哪种方法,然后当您使用旧方法成功从客户登录时,访问您可以以新格式录制的正确的纯文本密码。对于攻击者来说,攻击者很难推断出原始密码,并且出于同样的原因,您很难在不知道密码的情况下将它们转换为新格式。 Salting防止网站所有者知道实际密码是什么,这是一个理想的功能。

最后,使用base64与将密码存储为纯文本几乎相同,因为任何人都可以解码base64_encode的字符串。哈希函数更好,因为你不能像base64那样将它们反转,但仍然存在人们可以预先计算大量哈希的问题。这就是为什么你想使用盐。

相关问题