尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

openresty开发lua-resty-openssl之对称加密解密 - liuxm

openresty开发lua-resty-openssl之对称加密解密 - liuxm
📅 发布时间:2026/6/20 6:31:01

openresty开发lua-resty-openssl之对称加密解密

local cipher = require "resty.openssl.cipher"
local rand = require "resty.openssl.rand"
local pkey = require "resty.openssl.pkey"-- cbc需要32位密钥随机生成32位秘钥
local random_bytes = rand.bytes(32)-- 加密过程
local function aes_encrypt(data, key)-- 创建 AES-256-CBC 加密对象local c, err = cipher.new("aes-256-cbc")if not c then return nil, err end-- 生成随机 IV(AES-CBC 模式需要 16 字节 IV)local iv = rand.bytes(16)if not iv then return nil, "生成 IV 失败" end-- 初始化加密上下文local ok, err = c:init(key, iv, {is_encrypt=true}) -- true 表示加密模式if not ok then return nil, err end-- 加密数据(需处理填充)local encrypted, err = c:final(data)if not encrypted then return nil, err end-- 返回 IV + 加密后的数据(解密时需要 IV)return iv .. encrypted
end-- 解密过程
local function aes_decrypt(encrypted_data, key)-- 提取 IV(前 16 字节)local iv = encrypted_data:sub(1, 16)local data = encrypted_data:sub(17)-- 创建解密对象local c, err = cipher.new("aes-256-cbc")if not c then return nil, err end-- 初始化解密上下文local ok, err = c:init(key, iv, {is_encrypt=false}) -- false 表示解密模式if not ok then return nil, err end-- 解密数据local decrypted, err = c:final(data)if not decrypted then return nil, err endreturn decrypted
end-- 加密数据
local encode_bin = aes_encrypt("hello",random_bytes)-- 输出解密结果
ngx.say(aes_decrypt(encode_bin,random_bytes))

 

相关新闻

  • 腾讯云 OpenCloudOS 8 docker安装
  • 哈希乱搞:CF1418G Three Occurrences
  • 悲伤 自卑 乖戾 独自哭泣 陪伴空虚 kill my memory 让我将痛苦全忘记

最新新闻

  • DeepTutor:你的智能学习伙伴,让AI辅导无处不在
  • 鸿蒙 Next 相亲防骗雷达 App 开发实战:防骗教育 + 交互式自测 + 内容驱动设计
  • 免熏蒸木箱个性化方案哪家好? - 工业品牌热点
  • 嵌入式音频设计:I2S/SAI时序解析与低功耗模式实战
  • 呼伦贝尔市2026年最新黄金回收+白银回收+铂金回收+彩金回收门店TOP排行榜+推荐及联系方式+地址+电话+靠谱店铺指南 - 大熊猫898989
  • Codex 如何使用更高效:一篇讲透实战方法的博文

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号