Şu yazıyı okuyorsunuz: Magento 2’de URL Parametrelerini Şifreleme ve Şifresini Çözme
ad alanı Sağlayıcı\Modül\Yardımcı;
Magento\Framework\App\Helper\AbstractHelper’ı kullanın;
Magento\Framework\App\Helper\Context’i kullanın;
Magento\Framework\Url\DecoderInterface’i kullanın;
Magento\Framework\Url\EncoderInterface’i kullanın;
Yardımcı sınıf AbstractHelper’ı genişletiyor
{
const ŞİFRELEME = 1;
const ŞİFRESİ ÇÖZME = 2;
/**
* @var kodlayıcı arayüzü
*/
özel $urlEncoder;
/**
* @var kod çözücü arayüzü
*/
özel $urlDekoder;
genel işlev __build(
EncoderInterface $urlEncoder,
Kod Çözücü Arayüzü $url Kod Çözücü,
Bağlam $bağlam
)
{
parent::__construction($context);
$this->urlEncoder = $urlEncoder;
$this->urlDecoder = $urlDecoder;
}
/**
* @param $url’si
* @dönüş dizesi
*/
genel işlev encodeUrl($url)
{
return $this->urlEncoder->encode($url);
}
/**
* @param $url’si
* @dönüş dizesi
*/
genel işlev decodeUrl($url)
{
return $this->urlDecoder->decode($url);
}
/**
* @param $eylem
* @param $dizge
* @return bool|string
*/
public function encryptDecrypt($eylem, $dize)
{
$çıkış = yanlış;
$encrypt_method = “AES-128-ECB”;
$secret_key = ‘Bu benim gizli anahtarımdır’;
$anahtar = hash(‘sha256’, $secret_key);
if ($action == self::ŞİFRELEME) {
$output = openssl_encrypt($string, $encrypt_method, $anahtar);
} elseif ($action == self::DECRYPT) {
$output = openssl_decrypt($string, $encrypt_method, $anahtar);
}
$çıktıyı döndür;
}
}