0

我怎样才能使 magento 以更好的加密存储密码。因为 md5 不是一个健壮的。有没有办法提高magento的安全性?

因此,客户的详细信息是安全的。

4

2 回答 2

3

您可以从自定义算法中更改 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>
于 2013-03-18T11:02:48.830 回答
1

你可以参考一个很好的博客:

http://www.magentogarden.com/blog/how-are-passwords-encrypted-in-magento.html

它使用相同的 MD5,但附加了一层额外的安全性。

于 2013-03-15T08:59:48.507 回答