PHP加密与解密函数:哈希加密和RSA加密
发布时间:2023-07-07 08:39:19
PHP加密与解密函数是用来对数据进行加密和解密处理的函数。在PHP中,常用的加密算法有哈希加密和RSA加密。
1. 哈希加密函数
哈希加密是一种单向加密,即加密后的数据无法还原为原始数据。在PHP中,常用的哈希加密函数是md5()和sha1()。
md5()函数可以将数据加密为一个32位的哈希值,示例代码如下:
$password = '123456'; $hash = md5($password); echo $hash;
sha1()函数可以将数据加密为一个40位的哈希值,示例代码如下:
$password = '123456'; $hash = sha1($password); echo $hash;
2. RSA加密函数
RSA加密是一种非对称加密算法,需要使用公钥进行加密,使用私钥进行解密。在PHP中,可以使用openssl来实现RSA加密。
首先,需要生成一对密钥,包括公钥和私钥。可以使用openssl_pkey_new()函数来生成密钥对,示例代码如下:
$config = array(
"digest_alg" => "sha512",
"private_key_bits" => 4096,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
);
$privateKey = openssl_pkey_new($config);
openssl_pkey_export($privateKey, $privateKeyStr);
$publicKey = openssl_pkey_get_details($privateKey);
$publicKeyStr = $publicKey['key'];
生成密钥对后,可以使用openssl_public_encrypt()函数和openssl_private_decrypt()函数来实现RSA加密和解密。
加密的示例代码如下:
$data = 'Hello World'; openssl_public_encrypt($data, $encryptedData, $publicKeyStr); echo base64_encode($encryptedData);
解密的示例代码如下:
$encryptedData = base64_decode($encryptedData); openssl_private_decrypt($encryptedData, $decryptedData, $privateKeyStr); echo $decryptedData;
以上就是PHP中常用的哈希加密和RSA加密函数的介绍和示例代码。通过这些函数,我们可以对数据进行加密和解密,保护数据的安全性。
