php AES加密解密实例

Posted 我还是一个小猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php AES加密解密实例相关的知识,希望对你有一定的参考价值。

实例代码

<?php

class Aes{
	protected $key='';
	protected $iv='';
    /**
     * @param $key
     * @param $iv
     * @return $this
     * 配置 key iv
     */
    public function instance($key,$iv){
        $this->key=$key;
        $this->iv=$key;
        return $this;
    }

    /**
     * @param $input
     * @return string
     * 加密
     */
    public function encrypt($input)
    {
        $data = openssl_encrypt($input, 'AES-256-CBC', $this->key, OPENSSL_RAW_DATA, $this->hexToStr($this->iv));
        $data = base64_encode($data);
        return $data;
    }

    /**
     * @param $input
     * @return string
     * 解密
     */
    public function decrypt($input)
    {
        $decrypted = openssl_decrypt(base64_decode($input), 'AES-256-CBC', $this->key, OPENSSL_RAW_DATA, $this->hexToStr($this->iv));
        return $decrypted;
    }

    /**
     * @param $hex
     * @return string
     * hex转换
     */
    public function hexToStr($hex)
    {
        $string='';
        for ($i=0; $i < strlen($hex)-1; $i+=2)
        {
            $string .= chr(hexdec($hex[$i].$hex[$i+1]));
        }
        return $string;
    }

}

可以直接复制使用,php的aes加密类库

以上是关于php AES加密解密实例的主要内容,如果未能解决你的问题,请参考以下文章

QT:AES-256-CBC 根据 PHP 代码在 C++ 中加密/解密

Java 中的 AES 128 加密 PHP 中的解密

php与java通用AES加密解密算法

PHP如何使用AES加密和解密

PHP 中的 AES-256 加密

如何加密解密php源代码