使用OpenSSL或Sodium在PHP中实现加密解密,推荐Sodium更安全;通过$argv处理命令行参数,结合AES-256-CBC或crypto_secretbox进行加解密操作,密钥应从环境变量读取以保障安全。

在PHP中执行加密操作,通常使用内置的加密函数或扩展,比如 OpenSSL、Mcrypt(已废弃)或 Sodium。通过命令行运行PHP脚本进行加密解密非常实用,尤其在自动化处理敏感数据时。下面介绍几种常用方式和示例。
使用OpenSSL进行加密解密
OpenSSL是PHP中最常用的加密扩展,支持多种加密算法,如AES-256-CBC。
加密示例:
解密示例:
立即学习“PHP免费学习笔记(深入)”;
命令行使用方法:
- 加密:php encrypt.php
- 解密:php decrypt.php [加密字符串]
使用Sodium(推荐,更安全)
Sodium 是 PHP 7.2+ 推荐的现代加密库,比 OpenSSL 更简单且更安全。
Sodium需要确保PHP环境已启用sodium扩展(通常默认启用)。
命令行参数处理技巧
在写加密脚本时,可通过$argv读取命令行参数,实现灵活调用。
- $argv[0] 是脚本名
- $argv[1], $argv[2]... 是传入的参数
- 例如:php crypto.php encrypt "data" 或 php crypto.php decrypt [token]
可结合switch判断操作类型,提升脚本实用性。
基本上就这些。选择OpenSSL或Sodium根据环境决定,注意密钥保管和IV随机性,避免硬编码密钥到脚本中。生产环境建议从环境变量或配置文件安全读取。











