欢迎来到郴州社交动力网络科技有限公司
建站资讯

当前位置: 首页 > 建站资讯 > 建站教程 > PHP教程

php怎么对称加密解密_用PHP内置函数实现对称加密解密实战教程【技巧】

作者:长尾关键词优化 来源:php学校日期:2025-12-19
使用PHP实现对称加密可采用三种方法:1、推荐使用openssl_encrypt和openssl_decrypt配合AES-256-CBC算法,生成32字节密钥和16字节IV,加密后用base64_encode编码,解密时逆向操作;2、旧系统中可能使用mcrypt扩展进行DES加密,需启用mcrypt_module_open、mcrypt_generic_init等函数并手动处理PKCS#7填充;3、现代应用应优先选用Sodium库,通过sodium_crypto_secretbox和sodium_crypto_secretbox_open实现,需生成32字节密钥和唯一24字节nonce以确保安全。

php怎么对称加密解密_用php内置函数实现对称加密解密实战教程【技巧】

如果您需要在PHP中实现数据的加密与解密,并确保只有持有密钥的一方能够还原原始信息,可以使用PHP内置的对称加密函数。以下是几种利用PHP内置功能完成对称加密解密的操作方法:

一、使用 openssl_encrypt 和 openssl_decrypt 进行 AES 加密解密

openssl_encrypt 和 openssl_decrypt 是 PHP 中最常用的对称加密函数,支持多种加密算法,如 AES-128-CBC、AES-256-CBC 等。该方式安全性高,适用于大多数业务场景。

1、选择一个安全的加密方法,例如 AES-256-CBC,并生成一个32字节长度的密钥和16字节的初始化向量(IV)。

2、调用 openssl_encrypt 函数对明文进行加密,传入参数包括明文、加密方法、密钥、以及通过 OPENSSL_RAW_DATA 选项返回原始数据。

立即学习“PHP免费学习笔记(深入)”;

3、将加密结果使用 base64_encode 编码为可传输的字符串格式。

4、解密时先用 base64_decode 解码密文,再调用 openssl_decrypt,传入相同的方法、密钥和 IV 即可还原原文。

二、使用 mcrypt 扩展实现 DES 加密(已废弃但仍有兼容需求)

尽管 mcrypt 扩展在 PHP 7.2 后已被移除,但在一些旧系统中仍可能遇到。若环境支持,可通过此方式实现简单的 DES 对称加密。

1、确认服务器已安装并启用 mcrypt 扩展,否则无法使用相关函数。

2、使用 mcrypt_module_open 初始化 DES 算法模块,指定加密模式如 CBC。

Chatba<em></em>se Chatbase

从你的知识库中构建一个AI聊天机器人

Chatba<em></em>se 117 查看详情 Chatba<em></em>se

3、调用 mcrypt_generic_init 初始化加密句柄,传入密钥和 IV。

4、执行 mcrypt_generic 加密数据,然后使用 mdecrypt_generic 进行解密操作。

5、注意:输出需手动处理填充(PKCS#7),且最终结果应进行编码以便存储或传输。

三、基于 Sodium 库的安全加密(推荐现代应用使用)

PHP 7.2+ 内置了 libsodium 扩展,提供现代加密标准,其中 symmetric encryption 可通过 secretbox 实现安全通信。

1、生成一个随机的 32 字节密钥,可使用 random_bytes(32) 创建。

2、使用 sodium_crypto_secretbox 函数加密数据,该函数要求传入明文、nonce(24字节随机数)和密钥。

3、加密前需确保 nonce 每次唯一,避免重放攻击。

4、解密时使用 sodium_crypto_secretbox_open,若验证失败会返回 false,成功则返回原始明文。

以上就是php怎么对称加密解密_用PHP内置函数实现对称加密解密实战教程【技巧】的详细内容,更多请关注php中文网其它相关文章!

标签: php教程 apk
上一篇: php网页怎么加密解密_用PHP实现网页数据加密解密实战教程【技巧】
下一篇: php怎么打印数组中的元素_PHP打印数组内各个元素

推荐建站资讯

更多>