PHP使用3DES进行加解密,加密模式为ECB
PHP中3DES加解密,加密模式为ECB,加密方法看下面代码
/**
* Encrypt
* @param $data
* @return string
* @DateTime 2019-02-22 10:28
*/
public function encrypt($data, $key)
{
$encData = openssl_encrypt($data, 'DES-EDE3', $key, OPENSSL_RAW_DATA);
$encData = base64_encode($encData);
return $encData;
}
/**
* Decrypt
* @param $data
* @return string
* @DateTime 2019-02-22 10:30
*/
public function decrypt($data, $key)
{
$data = base64_decode($data);
$decData = openssl_decrypt($data, 'DES-EDE3', $key, OPENSSL_RAW_DATA);
return $decData;
}
为什么用openssl不用mcrypt?
ps:PHP7.1 后移除了 mcrypt ,而我的PHP版本7.2,所以要使用 openssl
为什么加密模式用DES-EDE3,而不是类似DES-EDE3-ECB这样的
ps:openssl不支持ECB模式
图片原文来自segmentfault 3des 到底支不支持 ECB 模式?