一、单列散列函数加密
1.md5()一般用于密码的不可逆加密
2.password_hash()
//密码加密
$password = '123456';
$passwordHash = password_hash(
$password,
PASSWORD_DEFAULT,
['cost' => 12]
);
//密码验证
if (password_verify($password, $passwordHash)) {
//Success
} else {
//Fail
}
3.base64_encode() 对应的解密base_decode()
4.SHA2() SHA256()
二、对称加密
1.3DES
//DES加密
$key = '123kils1321dshfdsvcxpUsdaq23'; //安全密钥
$data = 'name=iphone11&order_id=201233232323123&price=3357&num=2';//加密明文
$decodeData = openssl_encrypt($data, 'DES-ECB', $key, 0);
2. AES
三、非对称加密
RSA2
RSA 是一种非对称加密算法,可以使用 PHP 中的 openssl_public_encrypt() 和 openssl_private_decrypt() 函数来进行加密和解密。
用户客户端使用公钥加密数据,后台支付系统使用私钥解密数据。
客户端和服务端使用同样的签名算法,来计算签名,当客户端提交的签名,和服务端提供的签名一致的时候,就签名成功。