前言
在项目场景开发中,我们总会遇到一些敏感的场景需要数据加密及解密服务。那么我们如何去约定规则,让前端、后端均可处理数据的加密及解密呢。 我找了些方法,可以完成数据的加密及解密。
openSSL
这是一个php的扩展,专用于数据加密及解密的扩展。我们可以和前端约定,数据加密类型(openssl_get_cipher_methods() 我们可以通过此函数获取当前环境支持的加密类型)
及验签
案例
//数据加密
public static function openSSLEncryption(mixed $data,string $key,string $iv) : ?string
{
if(is_array($data))
{
$data = json_encode($data,JSON_UNESCAPED_UNICODE);
}
return openssl_encrypt(
$data,'AES-256-CBC',$key,0,$iv
);
}
//数据解密
public static function openSSLDncryption(string $data,string $key,string $iv) : mixed
{
return openssl_decrypt(
$data,'AES-256-CBC',$key,0,$iv
);
}
具体还是要看前端支持的 加密类型是哪种才行