35 lines
758 B
PHP
35 lines
758 B
PHP
<?php
|
|
|
|
namespace Yeepay\Yop\Sdk\Security\Aes;
|
|
|
|
class AesEncryptor
|
|
{
|
|
|
|
private static $AES_METHOD = 'aes-256-cbc';
|
|
|
|
private static $AES_IV;
|
|
|
|
public static function init()
|
|
{
|
|
$str = '';
|
|
for ($i = 0; $i < 16; $i++) {
|
|
$str .= chr(0);
|
|
}
|
|
self::$AES_IV = $str;
|
|
}
|
|
|
|
public static function encryptAndEncodeBase64($data, $key)
|
|
{
|
|
return base64_encode(openssl_encrypt($data, self::$AES_METHOD, $key, OPENSSL_RAW_DATA, self::$AES_IV));
|
|
}
|
|
|
|
public static function decodeBase64AndDecrypt($base64EncodedData, $key)
|
|
{
|
|
return openssl_decrypt(base64_decode($base64EncodedData), self::$AES_METHOD, $key, OPENSSL_RAW_DATA,
|
|
self::$AES_IV);
|
|
}
|
|
|
|
}
|
|
|
|
AesEncryptor::init();
|