PHP全栈工程师技术专题

PHP 使用DES PKCS7/CBC模式 进行加密

2018-08-30  本文已影响8人  Raybon_lee

PHP 加密

1 加密方式如下:

/**
     * @description DES加密
     *
     * @param $encryString
     * @param $encryKey
     *
     * @return string
     */
    private function encryPwd($encryString, $encryKey)
    {
        $keyLen   = strlen($encryKey);
        if (null == $encryKey || $keyLen < 8) {
            $encryKey = str_pad($encryKey, 8, '0', STR_PAD_RIGHT);
        }
        if ($keyLen > 8) {
            $encryKey = substr($encryKey, 0, 8);
        }
        $key     = mb_convert_encoding($encryKey, 'UTF-8');
        $message = mb_convert_encoding($encryString, 'UTF-8');
        $encry   = openssl_encrypt($message, 'DES-CBC', $key, OPENSSL_RAW_DATA, $key);

        return base64_encode($encry);
    }
  1. openssl_encrypt 的使用
    openssl_encrypt 参数:

             $message : 加密字符串
             'DES-CBC'  加密方式
             $key    :加密的key 
             OPENSSL_RAW_DATA : 使用原生数据,
             $key : iv 向量  
    

openssl_encrypt ,加密之后的结果最好使用base64_encode 进行编码,防止乱码无法解析,以上是简单使用

上一篇下一篇

猜你喜欢

热点阅读