PHP OpenSSL AES-128-CBC暗号化

1139 ワード

注意:openssl拡張機能をオンにする必要があります
class AesWithOpenssl
{   
    public static $key; //   
    public static $iv; //    
    
    public function __construct()
    {    
        self::$key = 'D2o4XyQeIFobJ4tS';
        self::$iv  = 'sciCuBC7orQtDhTO';
    }
    
    public function encryptWithOpenssl($data = '')
    {   
        return base64_encode(openssl_encrypt($data, "AES-128-CBC", self::$key, OPENSSL_RAW_DATA, self::$iv));
    }
    
    public function decryptWithOpenssl($data = '')
    {   
        
        return openssl_decrypt(base64_decode($data), "AES-128-CBC", self::$key, OPENSSL_RAW_DATA, self::$iv);
    }
}
//   
$arr = ['status' => '1', 'info' => 'success', 'data' => [['id' => 1, 'name' => '   ', '2' => '   ']]];
$str = json_encode($arr);

$obj = new AesWithOpenssl();

$encrypt_str = $obj->encryptWithOpenssl($str);
var_dump($encrypt_str);
echo '
'; $decrypt_str = $obj->decryptWithOpenssl($encrypt_str); var_dump($decrypt_str);