본문 바로가기

웹프로그래밍/PHP

[PHP 7.2] mcrypt_create_iv, mcrypt_encrypt, mcrypt_decrypt is undefined function

반응형

mcrypt_* 이 PHP 7.1 에서 deprecated 이 되었고, PHP7.2 에서 mcrypt_* 이 삭제되어 사용이 불가능 해졌다.

대신 openssl encrypt 를 사용하면 된다. 


private static $key = "key_pass";
private static $cipher = "aes-256-cbc";

public static function encrypt($buffer){
$ivlen = openssl_cipher_iv_length(self::$cipher);
$iv = openssl_random_pseudo_bytes($ivlen);
return openssl_encrypt($buffer, self::$cipher, self::$key, $options=0, $iv, $tag);
}

public static function decrypt($buffer){
$ivlen = openssl_cipher_iv_length(self::$cipher);
$iv = openssl_random_pseudo_bytes($ivlen);
return openssl_decrypt($buffer, self::$cipher, self::$key, $options=0, $iv, $tag);
}


반응형