我的商店被转移到没有 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/

许可以下: CC-BY-SA归因
scroll top