PHP加密和解密相关函数汇总
发布时间:2023-06-29 23:41:14
在PHP中,加密和解密是常见的操作。以下是一些常用的加密和解密相关的函数和类的汇总。
1. md5(): 这是最常见的加密函数之一,它将输入的字符串转换为32位的MD5哈希值。
$encrypted_string = md5($original_string);
2. sha1(): 这个函数类似于md5(),它将输入的字符串转换为40位的SHA-1哈希值。
$encrypted_string = sha1($original_string);
3. hash(): 这个函数可以根据指定的加密算法对字符串进行加密。
$encrypted_string = hash('sha256', $original_string);
4. base64_encode() / base64_decode(): 这对函数可以将字符串进行base64编码和解码。base64编码不是真正的加密,但可以将字符串转换为不可读的格式。
$encoded_string = base64_encode($original_string); $decoded_string = base64_decode($encoded_string);
5. password_hash() / password_verify(): 这对函数用于安全地进行密码加密和验证。password_hash()将密码进行哈希加密,password_verify()用于验证密码是否与哈希值匹配。
$hashed_password = password_hash($password, PASSWORD_DEFAULT); $is_verified = password_verify($password, $hashed_password);
6. openssl_encrypt() / openssl_decrypt(): 这对函数可以使用openssl库对字符串进行对称加密和解密。可以指定不同的加密算法和加密模式。
$encrypted_string = openssl_encrypt($original_string, 'AES-128-ECB', $encryption_key); $decrypted_string = openssl_decrypt($encrypted_string, 'AES-128-ECB', $encryption_key);
7. mcrypt_encrypt() / mcrypt_decrypt(): 这对函数可以使用mcrypt库对字符串进行对称加密和解密。与openssl类似,可以指定不同的加密算法和加密模式。
$encrypted_string = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $encryption_key, $original_string, MCRYPT_MODE_ECB); $decrypted_string = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $encryption_key, $encrypted_string, MCRYPT_MODE_ECB);
8. Cipher类: PHP提供了一个Cipher类,可以用于对称加密和解密。可以使用不同的加密算法和加密模式。
$cipher = new Cipher('AES-128-ECB', $encryption_key);
$encrypted_string = $cipher->encrypt($original_string);
$decrypted_string = $cipher->decrypt($encrypted_string);
总结:以上是一些常见的PHP加密和解密相关的函数和类。根据需要选择合适的加密方法和算法,确保数据的安全性。
