当前位置:

首页 > 编程开发 > PHP对称加密解密实战教程

PHP对称加密解密实战教程

使用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_cry

本文目录

    使用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 选项返回原始数据。

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

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

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

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

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

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

    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,成功则返回原始明文。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发
    相关文章 更多
    PHP5.4加密文件解密方法及工具使用教程
    PHP5.4加密文件解密方法及工具使用教程

    答案是使用PHP5.4适配工具解密需先确认加密文件针对PHP5.4版本,检查文件头部标识符以确保匹配,避免解密失败或代码错误。

    PHP加密文件如何解密?逆向教程分享
    PHP加密文件如何解密?逆向教程分享

    首先定位加密代码中的动态执行函数如eval、assert等,提取被编码的字符串;接着根据编码方式(如base64、gzinflate、异或等)逐层逆向解码,使用测试脚本还原;若存在函数名混淆,则通过映射数组替换真实函数名;对于依赖运行时环境的加密逻辑,可修改代码将解密后的内容输出到文件,最终获得可读源代码。

    PHP易盾解密工具使用教程
    PHP易盾解密工具使用教程

    答案:还原易盾加密PHP代码可采用官方解密接口、静态反混淆、动态调试或内存dump法。首先确认是否拥有授权,通过易盾控制台获取AppKey与AppSecret,调用其解密API获取明文;若无权限,则分析加密文件结构,查找eval(gzinflate(base64_decode(...)))模式,提取并解码base64数据,使用zlib解压后进行变量名还原;也可通过钩子函数拦截eval执行,记录运行时解密的代码内容;或在PHP-FPM运行时使用gdb附加进程,dump内存并提取包含opcode或原始字符串的

    PHP如何破解MD5哈希或对称加密
    PHP如何破解MD5哈希或对称加密

    MD5不可逆,无法解密,但可通过暴力破解、彩虹表查询或字典攻击推测原始输入。PHP中可编程实现:一、暴力破解:生成所有可能字符组合,用md5()计算并比对目标哈希,适用于短字符串;二、彩虹表查询:利用预存的明文-哈希对照数据库,通过PDO/MySQLi查找匹配项,或调用在线API加速反查;三、字典攻击:加载常见密码文件如rockyou.txt,逐行计算MD5比对,效率高且适合弱密码场景;四、加盐处理:若知salt值,需将其与猜测密码拼接后计算哈希,未知salt则难以破解,尤其动态salt需额外信息辅助。

    PHP如何用电脑解密文件?电脑PHP环境解密教程
    PHP如何用电脑解密文件?电脑PHP环境解密教程

    无法解密可能因函数调用错误或密钥不匹配。首先配置本地PHP环境,确认php-v正常并测试运行;其次使用OpenSSL扩展调用openssl_decrypt()解密AES数据,确保启用openssl并正确设置密钥与IV;对于旧项目可使用PHP7.1以下版本的Mcrypt扩展,通过mcrypt_decrypt()配合原算法、模式、密钥和IV解密,并trim去除填充;若文件仅为Base64编码,直接使用base64_decode()还原内容;针对XOR加密,需获取原始密钥,逐字节循环异或解密。各步骤依次对应常见

    PHP MD5如何解密?破解MD5哈希方法大全
    PHP MD5如何解密?破解MD5哈希方法大全

    md5是单向哈希算法,无法直接解密,只能通过彩虹表查询、暴力破解、字典攻击或结合盐值推导等方式推测原始数据,建议敏感信息存储时改用AES等可逆加密方式。

    PHP代码反混淆与解密教程详解
    PHP代码反混淆与解密教程详解

    首先识别混淆类型,如Base64编码、Gzip压缩或变量替换;接着通过替换eval为echo并执行解码还原源码;对多层混淆逐层解压;使用工具或手动重命名变量提升可读性;最后借助在线平台辅助解析,完成代码反混淆。

    PHP如何逆向MD5加密获取明文?
    PHP如何逆向MD5加密获取明文?

    MD5不可逆,无法直接还原,但可通过彩虹表查询、本地字典比对或在线API批量查询尝试匹配明文。

    PHP源码加密怎么解密?分析加密方式还原教程
    PHP源码加密怎么解密?分析加密方式还原教程

    首先识别加密类型,如Base64、gzinflate或专业工具加密;随后针对不同方式分别采用解码、解压或模拟执行等手段还原源码。

    GitHub六个AI开源项目能做什么?软件理解、语音与求职场景
    GitHub六个AI开源项目能做什么?软件理解、语音与求职场景

    解析六个GitHub AI开源项目的具体用途,包括软件静态分析、智能体回答检查、多语言配音、求职材料生成、本地代码检索及动态歌词展示,帮助开发者根据实际需求筛选工具并正确验证结果。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。