class Crypt_Data {
protected $_mcrypt=null;
protected $_iv=null;
protected $_key=null;
public function __construct() {
$this->_mcrypt = mcrypt_module_open('rijndael_256', '', 'cbc', '');
$key_size = mcrypt_enc_get_key_size($this->_mcrypt);
for($i=0;$i<$key_size;$i++) $test_key .= "0";
$this->_iv = $test_key;
$this->_key = $test_key;
mcrypt_generic_init($this->_mcrypt,$this->_key,$this->_iv);
}
public function dataEncrypt($data) {
return base64_encode(mcrypt_generic($this->_mcrypt, $data));
}
public function dataDecrypt($data) {
return mdecrypt_generic($this->_mcrypt, base64_decode($data));
}
}
$crypt = new Crypt_Data();
$string = "encrypt me";
$encrypted = $crypt->dataEncrypt($string);
echo $encrypted."<BR>";
$decrypted = $crypt->dataDecrypt($encrypted);
echo $decrypted."<BR>";
出力:
JJKfKxZckkqwfZ5QWeyVR+3PkMQAsP0Gr1hWaygV20I=
qÌÌi_ÖZí(®`iÜ¥wÝÿ ô0€Í6Ÿhf[%ër
これが機能しない理由がわかりません。私の側ではすべて問題ないようです。mcrypt_cbc(); で解読してみました。そして、それは適切に復号化されました..だから、それは私のmdecrypt_genericと関係があります..何かアイデアはありますか?