Open yangweijie opened 3 months ago
composer require phpseclib/phpseclib
use phpseclib3\Crypt\AES; # 加密 $aesKey= md5(uniqid(rand(), true)); $iv = self::IV; // AES加密 $aes = new AES('CBC'); $aes->setKey($aesKey); $aes->setIV($iv); $dataJson = is_array($data) ? json_encode($data, JSON_THROW_ON_ERROR) : $data; $encode = $aes->encrypt($dataJson); $encodeStr = strtoupper(bin2hex($encode)); # 解密 $iv = self::IV; $data = hex2bin(strtolower($data)); // AES解密 $aes = new AES('CBC'); $aes->setKey($aesKey); $aes->setIV($iv); $encode = $aes->decrypt($data);
# 加密 public static function RsaEncode($publicKey, $data, $padding = RSA::ENCRYPTION_OAEP){ $key = PublicKeyLoader::load(file_get_contents($publicKey), $password); $key->withPadding($padding); return base64_encode($key->encrypt($data)); } public static function RsaDecode($privateKey, $data, $padding = RSA::ENCRYPTION_OAEP){ $key = PublicKeyLoader::load(file_get_contents($privateKey), $password); $key->withPadding($padding); return $key->decrypt(base64_decode($data)); } # 解密
composer require ch4o5/sm3-php
$sm3 = sm3('abc');
有的时候客户发的是p12 证书 可以去网站 上转换
AES
RSA
SM3
证书转换
有的时候客户发的是p12 证书 可以去网站 上转换