欢迎访问宙启技术站
智能推送

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加密函数的介绍和示例代码。通过这些函数,我们可以对数据进行加密和解密,保护数据的安全性。