1 加密
//加密
public function encrypt($info,$key,$iv){
//info->要加密的数据
//key->要转成24进制 $pack = pack('H48', $key);
//iv->要转成16进制 $iv = pack('H16','0000000000000000');
// return base64_encode(openssl_encrypt($info, 'AES-256-CBC', $key, OPENSSL_RAW_DATA,$iv));
// $data = openssl_encrypt($info, 'AES-128-CBC', $key, OPENSSL_RAW_DATA,$iv);
$encryptMethod = "DES-EDE3-CBC";
$size = 8;
$info = $this->pkcs5_pad($info, $size);
// dump($info);
$key = str_pad($key,24,'0');
// dump($key);
$ivLen = openssl_cipher_iv_length($encryptMethod); //8
// if( $this->iv == '' )
// {
// $iv = openssl_random_pseudo_bytes($ivLen);
// }
// else
// {
// $iv = $this->iv;
// }
$data = openssl_encrypt($info, $encryptMethod, $key, OPENSSL_RAW_DATA | OPENSSL_NO_PADDING, $iv);
$data = bin2hex($data);
return $data;
}
2.解密
//解密
public function decrypt($info,$key,$iv){
$encryptMethod = "DES-EDE3-CBC";
$encrypted = pack('H*', $info);
$key = str_pad($key,24,'0');
$ivLen = openssl_cipher_iv_length($encryptMethod); //8
// if( $this->iv == '' )
// {
// $iv = openssl_random_pseudo_bytes($ivLen);
// }
// else
// {
// $iv = $this->iv;
// }
$decrypted = openssl_decrypt($encrypted, $encryptMethod, $key, OPENSSL_RAW_DATA | OPENSSL_NO_PADDING, $iv);
$y = $this->pkcs5_unpad($decrypted);
return $y;
}