100%確信はありませんが(これは簡単でしたgrep
)、パスワードの暗号化はで行われると思います
File: app/code/core/Mage/Adminhtml/Model/System/Config/Backend/Encrypted.php
protected function _beforeSave()
{
$value = (string)$this->getValue();
// don't change value, if an obscured value came
if (preg_match('/^\*+$/', $this->getValue())) {
$value = $this->getOldValue();
}
if (!empty($value) && ($encrypted = Mage::helper('core')->encrypt($value))) {
$this->setValue($encrypted);
}
}
これは暗号化であり、ハッシュではないことを忘れないでください。どこかで使用するためのパスワードを保存しているため(ほとんどの場合、支払いAPI)、Magentoはスクランブルされたもののスクランブルを解除できる必要があります。encrypt
したがって、コアヘルパーのメソッドを使用してこれらの値を生成できます。このようなことも試すことができます
$o = Mage::getModel('adminhtml/system_config_backend_encrypted');
$o->setData('value','encrypted or unencrypted value');
$o->beforeSave(); //to encrypt the value
$o->afterLoad(); //to unencrypted the value
$password = $o->getValue(); //fetch the value
各ストアには独自の暗号化キーがあるため、これはモジュールの配布には役立ちません。
また、読み込みと処理の際に、backend_model
属性(自己リンクの免責事項、インターネット上の他の場所に文書化されていない)を調べる必要があります。config.xml
お役に立てば幸いです。