PHP 程序如何实现加密解密? 您所在的位置:网站首页 哈希加密解密 PHP 程序如何实现加密解密?

PHP 程序如何实现加密解密?

2023-04-02 01:01| 来源: 网络整理| 查看: 265

PHP 中有很多加密和解密的函数可用,以下是一些常用的加密解密方式和函数:

对称加密:

对称加密是一种加密方式,使用同一个密钥加密和解密数据。PHP 中可用的对称加密算法包括 AES、DES、3DES 等。以下是一些常用的对称加密函数:

mcrypt_encrypt():加密数据mcrypt_decrypt():解密数据openssl_encrypt():加密数据openssl_decrypt():解密数据非对称加密:

非对称加密使用一对公钥和私钥来加密和解密数据,其中公钥可以公开,而私钥必须保密。PHP 中可用的非对称加密算法包括 RSA、DSA、ECDSA 等。以下是一些常用的非对称加密函数:

openssl_public_encrypt():使用公钥加密数据openssl_private_decrypt():使用私钥解密数据openssl_private_encrypt():使用私钥加密数据openssl_public_decrypt():使用公钥解密数据Hash:

Hash 是一种单向加密方式,即不能通过已经加密的数据来还原出原始数据。PHP 中可用的 Hash 函数包括 MD5、SHA-1、SHA-256 等。以下是一些常用的 Hash 函数:

md5():计算 MD5 哈希值sha1():计算 SHA-1 哈希值hash():计算任意哈希值Base64:

Base64 是一种编码方式,将二进制数据转换为文本格式,常用于在网络传输中传递二进制数据。PHP 中可用的 Base64 函数包括 base64_encode() 和 base64_decode()。

下面是一个简单的示例,使用 AES 对称加密算法加密和解密数据:

// 加密函数 function encrypt($plaintext, $key) { $ivlen = openssl_cipher_iv_length($cipher="AES-128-CBC"); $iv = openssl_random_pseudo_bytes($ivlen); $ciphertext_raw = openssl_encrypt($plaintext, $cipher, $key, $options=OPENSSL_RAW_DATA, $iv); $hmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary=true); $ciphertext = base64_encode( $iv.$hmac.$ciphertext_raw ); return $ciphertext; } // 解密函数 function decrypt($encrypted, $key) { $encrypted = base64_decode($encrypted); $iv = substr($encrypted, 0, 16); $encrypted = substr($encrypted, 16); $decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv); return $decrypted; }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有