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

PHP中实现加密解密的函数介绍

发布时间:2023-06-13 04:14:14

PHP中支持多种加密解密算法,在开发中可以根据需求选择合适的算法实现加密解密功能。本文将介绍PHP中常用的加密解密函数及使用方法。

一、md5()函数

md5()函数是PHP中常用的加密函数之一,它将字符串转换成32位的十六进制摘要。使用方法如下:

$str = 'hello,md5';
$md5 = md5($str);
echo $md5;  // 输出:b37878bf7276e30352d9f3b9a799f650

二、sha1()函数

sha1()函数与md5()函数类似,也是将字符串转换成40位的十六进制摘要。使用方法如下:

$str = 'hello,sha1';
$sha1 = sha1($str);
echo $sha1;  // 输出:78df4716cc4f82d67e3a9663a6caf7cc5e50d736

三、base64_encode()和base64_decode()函数

base64_encode()函数将字符串进行base64编码,使其可在网络上传输。base64_decode()函数将base64编码的字符串进行解码。使用方法如下:

$str = 'hello,base64';
$base64 = base64_encode($str);
echo $base64;  // 输出:aGVsbG8sYmFzZTY0
echo base64_decode($base64);  // 输出:hello,base64

四、openssl_encrypt()和openssl_decrypt()函数

openssl_encrypt()函数实现对称加密,使用openssl库提供的加密算法进行加密。openssl_decrypt()函数进行解密。使用方法如下:

$key = '1234567890abcdef';
$data = 'hello,openssl';
$method = 'AES-128-CBC';  // 加密算法
$iv = '1234567890abcdef'; // initialization vector
$encrypted = openssl_encrypt($data, $method, $key, 0, $iv);
echo $encrypted;  // 输出:YbFEYxOAaZ2qbIfFJFv2jQ==
echo openssl_decrypt($encrypted, $method, $key, 0, $iv);  // 输出:hello,openssl

五、password_hash()和password_verify()函数

password_hash()函数实现了安全的密码哈希函数,它将用户提供的密码加盐哈希,生成一个安全的密码哈希值。password_verify()函数用于验证密码是否与哈希值匹配。使用方法如下:

$password = '123456';
$hash = password_hash($password, PASSWORD_DEFAULT);
echo $hash;  // 输出:$2y$10$AUnDa.gYwO3RaO9F5GEie.id4v0196VdGMZ/t9hIux1nFeWJGZSj6
if (password_verify($password, $hash)) {
    echo '密码正确';
} else {
    echo '密码错误';
}

以上是PHP中常用的加密解密函数介绍,开发者可以根据实际需求选择合适的算法实现加密解密功能。