私は暗号化に不慣れで、このクラスを利用してトークンを取得しています。より深く理解するために、参照、ビデオチュートリアルなどを使用して、これら2つの機能で何が起こっているのかを理解するのを手伝ってもらえますか. 目的は、同じ手法を使用して他の言語で理解し、実装することです。
class Crypt {
public static function encrypt($data, $secret) {
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = pack('H*', $secret);
return base64_encode($iv . mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv));
}
public static function decrypt($data, $secret) {
$data = base64_decode($data);
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = substr($data, 0, $iv_size);
$data = substr($data, $iv_size);
$key = pack('H*', $secret);
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv), chr(0));
}
}
ありがとう