PHP实现sha1加密AES算法加密解密数据

一、加密代码如下:

/**
     *
     * @param string $string 需要加密的字符串
     * @param string $key 密钥
     * @return string
     */ 
    public static function encrypts($string, $key)
    {
        $key = substr(openssl_digest(openssl_digest($key, 'sha1', true), 'sha1', true), 0, 16);
        // openssl_encrypt 加密不同Mcrypt,对秘钥长度要求,超出16加密结果不变
        $data = openssl_encrypt($string, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
        $encrypted = strtolower(bin2hex($data));
        return $encrypted;
    }   

二、解密代码如下:

/**
     * @param string $string 需要解密的字符串
     * @param string $key 密钥
     * @return string
     */
    public static function decrypts($string, $key)
    {
        $key = substr(openssl_digest(openssl_digest($key, 'sha1', true), 'sha1', true), 0, 16);
        $decrypted = openssl_decrypt(hex2bin($string), 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
        return $decrypted;
    }

猜你喜欢

转载自www.cnblogs.com/phperlinxinlan/p/11867809.html
今日推荐