PHP使用openssl扩展实现加解密方法

从PHP7版本开始不少依赖mcrypt扩展的方法都不支持了,PHP7.2.0及以上版本已经彻底不支持mcrypt扩展的任何方法了,因此PHP7及以上版本都应该使用openssl扩展来实现加解密。php

以DES-CBC加密方式为例:加密

<?php

class DesUtil
{
    /**
     * Des 加密
     *
     * @param $str
     * @param $secretKey
     * @param string $iv
     * @return string
     */
    public static function encrypt($str, $secretKey, $iv = '')
    {
        return base64_encode(openssl_encrypt($str, 'des-cbc', $secretKey, OPENSSL_RAW_DATA, $iv));
    }

    /**
     * Des 解密
     *
     * @param $str
     * @param $secretKey
     * @param string $iv
     * @return string
     */
    public static function decrypt($str, $secretKey, $iv = '')
    {
        return openssl_decrypt(base64_decode($str), 'des-cbc', $secretKey, OPENSSL_RAW_DATA, $iv);
    }
}
相关文章
相关标签/搜索