我可以在没有 mcrypt 的情况下使用 Magento 吗?[复制]
-
28-09-2020 - |
题
我的商店被转移到没有 mcrypt 的服务器,并且由于某种原因 mcrypt 无法安装(不要问我为什么!)。
看起来密码只是用带盐的 md5 加密的(不好!)所以我想知道 mcrypt 到底有什么用。有人黑了 Magento 并且能够 不使用 mcrypt 安装它. 。对我来说听起来不太好,但这对他有用。
现在我想知道使用了什么加密,如果我用虚拟替换它,节目会中断吗?有更好的解决方法吗?可以从 openssl 获取安全随机并添加加密库吗?
长话短说
- mcrypt 在 Magento 中有何用途?
- 有可能有一个好的解决方法吗?
解决方案
mcrypt 不用于密码和URL键散列,但用于加密和解密敏感数据,例如API密码,例如,从系统配置中存储/检索。
所有 mcrypt 功能封装在 Varien_Crypt_Mcrypt
。通过 Mage_Core_Model_Encryption
。在整个应用程序中应该使用的加密模型在 config/global/helpers/core/encryption_model
节点。
所以(理论上)有一种方法可以通过自己的加密模型替换这一点 - 只要它满足前者的界面即可。乍一看,它看起来你需要扩展生成族曲线码并替换 Mage_Core_Model_Encryption
方法。这应该返回一个类实例,该实例实现与生成的acticetagcode相同的方法 - 但是使用不同的加密库。
其他提示
您可以修补 Magento 代码(例如通过 app/local
codepool)并将 mcrypt 功能替换为来自 PHPSecLib 的功能,PHPSecLib 提供了纯 PHP 功能的实现 http://phpseclib.sourceforge.net/