php rsa加密(非对称)实例 以及使用哈希256进行加密
function getEncryptionUserID($client_secret): string { $str = " -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpw/k/rPHx4c1nEO8lQr8Fkz2MMTnqNbspRox1f2snoDNcssTQxg9TyBOMujQy14eRibKE+X+qPVeZJyyfruTrtvB4EomJL7v4URcacg7H00A2HL1nf7DTtp8oRpVIssATcrgjwg60DSyDamMlnXCv9TiUKb+jRqWBkZNGhPh9UwIDAQAB -----END PUBLIC KEY----- "; $a = openssl_pkey_get_public($str); //对数据公钥加密及私钥解密 $string = $client_secret; $r= openssl_public_encrypt($string, $encrypted, $a); if ($r) { $b = base64_encode($encrypted); } return $b; }
openssl_pkey_get_public()函数将返回您的公钥。
函数openssl_pkey_get_public()从给定证书中返回公钥,以便可以与其他函数一起使用。
openssl_public_encrypt(
string
string
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string
int
): bool
string
$data,string
&$encrypted_data,OpenSSLAsymmetricKey|OpenSSLCertificate|array|string
$public_key,int
$padding = OPENSSL_PKCS1_PADDING): bool
openssl_public_encrypt() 使用公钥 public_key 解密数据 data 并且将结果保存到变量 encrypted_data 中。加密的数据可以通过 openssl_private_decrypt() 函数解密。
该函数可以用来加密数据,供该公钥匹配的私钥拥有者读取。 它也可以用来在数据库中存储安全数据。
哈希算法实例:
$hash_it = hash("sha256", $client_id . $data. $pubKey, false);
hash(
string
string
bool
array
): string
string
$algo,string
$data,bool
$binary = false,array
$options = []): string
参数 ¶
algo-
要使用的散列算法,例如:“md5”、“sha256”、“haval160,4”等。在 hash_algos() 中查看支持的算法。
data-
要进行散列运算的消息。
binary-
设置为
true输出原始二进制数据, 设置为false输出小写 16 进制字符串。 options-
各种散列算法的一系列选项数组。目前 MurmurHash 算法仅支持 “seed” 参数。

浙公网安备 33010602011771号