PHP openssl_encrypt_decrypt

/**
 * 对数据进行加密
 * @param  [type] $action encrypt/decrypt
 * @return [type] string 加密后的字符串
 */
function opensslEncrypt($data)
{
    $output = false;

    $options = cryptOptions();
    $encrypt_method = $options['encrypt_method'];
    $secret_key = $options['secret_key']; // This is my secret key
    $secret_iv = $options['secret_iv']; // This is my secret iv

    // hash
    $key = hash('sha256', $secret_key);
    
    // iv - encrypt method AES-256-CBC expects 16 bytes - else you will get a warning
    $iv = substr(hash('sha256', $secret_iv), 0, 16);

    $output = openssl_encrypt($data, $encrypt_method, $key, 0, $iv);
    $output = base64_encode($output);

    return $output;
}

/**
 * 对数据进行解密
 * @param  [type] $data   要加密的数据
 * @return [type] string 加密后的字符串
 */
function opensslDecrypt($data)
{
    $output = false;

    $options = cryptOptions();
    $encrypt_method = $options['encrypt_method'];
    $secret_key = $options['secret_key']; // This is my secret key
    $secret_iv = $options['secret_iv']; // This is my secret iv

    // hash
    $key = hash('sha256', $secret_key);
    
    // iv - encrypt method AES-256-CBC expects 16 bytes - else you will get a warning
    $iv = substr(hash('sha256', $secret_iv), 0, 16);

    $output = openssl_decrypt(base64_decode($data), $encrypt_method, $key, 0, $iv);

    return $output;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值