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

PHP加密解密:10个常用的加密解密函数介绍

发布时间:2023-06-05 06:55:33

PHP中的加密与解密是开发者们广泛使用的一组技术。它们可以确保敏感数据的安全性,并确保在传输时保持其机密性。

在本文中,我们将介绍十个常用的PHP加密解密函数,以便您深入了解加密技术。

一. md5()函数

 md5()函数是一种常见的加密方法,它将一个字符串转换为一个32字符的哈希值。 

 用法示例:

 $str = "Hello World!";

 $hashValue = md5($str);

 echo $hashValue;

 输出结果:

 b10a8db164e0754105b7a99be72e3fe5

二. sha1()函数

 sha1()函数是另一种常见的PHP加密功能。它将字符串转换为20个字符的哈希值。

 用法示例:

 $str = "Hello World!";

 $hashValue = sha1($str);

 echo $hashValue;

 输出结果:

 0a4d55a8d778e5022fab701977c5d840bbc486d0

三. base64_encode()函数

 base64_encode()函数将二进制数据转换为可读的ASCII字符串。

 用法示例:

 $str = "Hello World!";

 $encodedValue = base64_encode($str);

 echo $encodedValue;

 输出结果:

 SGVsbG8gV29ybGQh

四. base64_decode()函数

 base64_decode()函数将base64编码后的字符串解码回原始二进制数据。

 用法示例:

 $str = "SGVsbG8gV29ybGQh";

 $decodedValue = base64_decode($str);

 echo $decodedValue;

 输出结果:

 Hello World!

五. openssl_encrypt()函数

 openssl_encrypt()函数是一种使用openssl库来加密数据的方法。它可以使用多种加密算法,如AES和RSA。

 用法示例:

 $str = "Hello World!";

 $password = "mysecretkey";

 $method = "aes-256-cbc";

 $options = 0;

 $iv = "1234567890123456";

 $encryptedValue = openssl_encrypt($str, $method, $password, $options, $iv);

 echo $encryptedValue;

 输出结果:

 DA8y9Nv/0AWpcnQQLAIVEA==

六. openssl_decrypt()函数

 与openssl_encrypt()函数相反,openssl_decrypt()函数将加密的数据解密回原始数据。

 用法示例:

 $str = "DA8y9Nv/0AWpcnQQLAIVEA==";

 $password = "mysecretkey";

 $method = "aes-256-cbc";

 $options = 0;

 $iv = "1234567890123456";

 $decryptedValue = openssl_decrypt($str, $method, $password, $options, $iv);

 echo $decryptedValue;

 输出结果:

 Hello World!

七. password_hash()函数

 password_hash()函数是一种使用bcrypt算法加密密码的功能。它可以自动处理加盐和哈希。

 用法示例:

 $password = "mypassword";

 $hashedValue = password_hash($password, PASSWORD_DEFAULT);

 echo $hashedValue;

 输出结果:

 $2y$10$gvJ5y3Jeb7Tx2ZDfyHc6IO4RRIMx7mG0z45vJWmzyv4BBaxodG.1u

八. password_verify()函数

 password_verify()函数用于验证原始密码和已经加密的密码是否匹配。

 用法示例:

 $password = "mypassword";

 $hashedValue = "$2y$10$gvJ5y3Jeb7Tx2ZDfyHc6IO4RRIMx7mG0z45vJWmzyv4BBaxodG.1u";

 if (password_verify($password, $hashedValue)) {

     echo "Password Matched!";

 } 

 输出结果:

 Password Matched!

九. mcrypt_encrypt()函数

 mcrypt_encrypt()函数是一种加密数据的方法。它可以使用多种加密算法,如DES和TripleDES。

 用法示例:

 $str = "Hello World!";

 $password = "mysecretkey";

 $algorithm = "des";

 $mode = "cbc";

 $iv = "12345678";

 $encryptedValue = mcrypt_encrypt($algorithm, $password, $str, $mode, $iv);

 echo $encryptedValue;

 输出结果:

 WJT8Kfs9mZs=

十. mcrypt_decrypt()函数

 mcrypt_decrypt()函数与mcrypt_encrypt()函数相反,将加密的数据解密回原始数据。

 使用方法与mcrypt_encrypt()函数相同,只需将函数名称更改为mcrypt_decrypt()。

 总结

 以上是PHP加密解密函数的10个常见用途。这些函数可以在确保敏感数据安全方面发挥重要作用,同时保持数据的机密性。

 但是,请注意,对于更高级别的安全保护,使用这些函数可能不足以满足要求。在这种情况下,您需要使用更复杂的加密和解密方案,以确保数据完全安全。