封装加密解密类
<?php
namespace app\api\controller;
use think\Controller;
header("Content-Type:text/html; charset=utf-8");
class Encrypt extends Controller{
var $key='0123456789012345678901234567890123456789012345678';
// var $key='4G56769180316EF4TGBNDUH8DHGIHKFYD5925RT8BA06YHNK';
var $iv='0102030405060708'; //偏移量
/**
* 对字符串进行3DES加密
* @param string 要加密的字符串
* @return mixed 加密成功返回加密后的字符串,否则返回false
*/
public function encrypt3DES($str)
{
$key = pack('H48',$this->key);//结果为24位
$iv = pack('H16',$this->iv);//结果为8位
$td = mcrypt_module_open(MCRYPT_3DES, '', 'cbc', '');
if ($td === false) {
return false;
}
//检查加密key,iv的长度是否符合算法要求
$key = $this->fixLen($key, mcrypt_enc_get_key_size($td));
if ( empty($iv) )