我怎样才能使 magento 以更好的加密存储密码。因为 md5 不是一个健壮的。有没有办法提高magento的安全性?
因此,客户的详细信息是安全的。
您可以从自定义算法中更改 magento 加密算法。我正在为我的 mageto 使用 SHA1。我为此创建了一个自定义模块。在哈希函数中,您可以实现任何算法。
magento/app/code/local/My/ShaModule/Model/Encryption.php
public function getHash($password, $salt = false)
{
return $this->hash($password);
}
public function hash($data){
return sha1($data);
}
public function validateHash($password, $hash) {
return $this->hash($password) === $hash;
}
}
?>
magento/app/code/local/My/ShaModule/etc/config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : config.xml
Created on : July 26, 2012, 1:12 PM
Author : sanjeewani
Description:
Purpose of the document follows.
-->
<config>
<modules>
<My_ShaModule>
<version>0.1.0</version>
<depends>
<Mage_Core />
</depends>
</My_ShaModule>
</modules>
<global>
<models>
<core>
<rewrite>
<encryption>My_ShaModule_Model_Encryption</encryption>
</rewrite>
</core>
</models>
<helpers>
<core>
<encryption_model>My_ShaModule_Model_Encryption</encryption_model>
</core>
</helpers>
</global>
<frontend>
<routers>
<my_shamodule>
<use>standard</use>
<args>
<module>My_ShaModule</module>
<frontName>shamodule</frontName>
</args>
</my_shamodule>
</routers>
</frontend>
</config>
你可以参考一个很好的博客:
http://www.magentogarden.com/blog/how-are-passwords-encrypted-in-magento.html
它使用相同的 MD5,但附加了一层额外的安全性。