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加密解密实例的主要内容,如果未能解决你的问题,请参考以下文章

PHP的aes加解密算法

PHP对称加密-AES

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

PHP 加密:AES & RSA

PHP中的AES解密

PHP中的AES加密以在openssl中解密