TripleDESを使用してデータを暗号化するために、インターネットからコードを入手しました。
$key = "ThisIsTheKey"; // 24 bit Key
$iv = "fYfhHeDm"; // 8 bit IV
$bit_check = 8; // bit amount for diff algor.
//function to encrypt
function encrypt($text) {
global $key,$iv,$bit_check;
$text_num = str_split($text, $bit_check);
$text_num = $bit_check - strlen($text_num[count($text_num) - 1]);
for ($i = 0; $i < $text_num; $i++) {
$text = $text . chr($text_num);
}
$cipher = mcrypt_module_open(MCRYPT_TRIPLEDES, '', 'cbc', '');
mcrypt_generic_init($cipher, $key, $iv);
$decrypted = mcrypt_generic($cipher, $text);
mcrypt_generic_deinit($cipher);
return base64_encode($decrypted);
}
問題は、変数をグローバルと呼んでも、上部(変数を宣言した場所)に変数が使用されていないことを示しています。これを実行しようとすると、エラーが発生しました。しかし、関数内で同じ変数セットを宣言すると、それは機能します。