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

安全基础:10个PHP加密和解密函数

发布时间:2023-06-25 03:46:50

PHP是一种广泛使用的服务器端脚本语言,用于Web开发。在业务应用中,常常需要对数据进行加密和解密处理。为了方便大家的开发,下面介绍一些常用的PHP加密和解密函数。

1. md5()

md5()函数用于生成字符串的MD5哈希值,通常用于存储密码。

示例:

$password = '123456';
$md5_password = md5($password);
echo $md5_password;

输出:

e10adc3949ba59abbe56e057f20f883e

2. sha1()

sha1()函数用于生成字符串的SHA1哈希值。

示例:

$password = '123456';
$sha1_password = sha1($password);
echo $sha1_password;

输出:

7c4a8d09ca3762af61e59520943dc26494f8941b

3. base64_encode()

base64_encode()函数用于将字符串进行Base64编码。

示例:

$data = 'hello world';
$base64_data = base64_encode($data);
echo $base64_data;

输出:

aGVsbG8gd29ybGQ=

4. base64_decode()

base64_decode()函数用于将Base64编码的字符串进行解码。

示例:

$base64_data = 'aGVsbG8gd29ybGQ=';
$data = base64_decode($base64_data);
echo $data;

输出:

hello world

5. md5_file()

md5_file()函数用于计算文件的MD5哈希值。

示例:

$file = 'file.txt';
$md5_value = md5_file($file);
echo $md5_value;

6. sha1_file()

sha1_file()函数用于计算文件的SHA1哈希值。

示例:

$file = 'file.txt';
$sha1_value = sha1_file($file);
echo $sha1_value;

7. openssl_encrypt()

openssl_encrypt()函数用于对字符串进行加密处理,支持多种加密算法。

示例:

$data = 'hello world';
$key = '123456';
$method = 'AES-128-CBC';
$iv = '1234567890123456';
$encrypted_data = openssl_encrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
echo base64_encode($encrypted_data);

输出:

5bwu42J7jkRkVQyl2dGXvg==

8. openssl_decrypt()

openssl_decrypt()函数用于对字符串进行解密处理,支持多种加密算法。

示例:

$encrypted_data = '5bwu42J7jkRkVQyl2dGXvg==';
$key = '123456';
$method = 'AES-128-CBC';
$iv = '1234567890123456';
$decrypted_data = openssl_decrypt(base64_decode($encrypted_data), $method, $key, OPENSSL_RAW_DATA, $iv);
echo $decrypted_data;

输出:

hello world

9. password_hash()

password_hash()函数用于生成安全的密码哈希值,支持多种哈希算法。

示例:

$password = '123456';
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
echo $hashed_password;

输出:

$2y$10$3EGlylTqQtkri1rCzuM2uuU.JuYguZDuvVvx4wT9nZ51axCkOmRty

10. password_verify()

password_verify()函数用于验证密码和哈希值是否匹配。

示例:

$password = '123456';
$hashed_password = '$2y$10$3EGlylTqQtkri1rCzuM2uuU.JuYguZDuvVvx4wT9nZ51axCkOmRty';
if (password_verify($password, $hashed_password)) {
    echo 'match';
} else {
    echo 'not match';
}

输出:

match

在应用开发中,安全性是至关重要的。以上介绍的PHP加密和解密函数可以为您的应用程序提供更好的安全性。