OpenWrt中Lua支持MD5

本文介绍在OpenWrt系统中如何使Lua支持MD5功能。通过添加编译选项并重新编译,可在系统中生成md5.lua和md5/core.so文件,封装了生成MD5码的函数。只需在lua文件中引入md5模块即可使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenWrt中 Lua 支持MD5

openwrt中的lua默认是不支持md5的,主要是在编译的时候没有添加支持 lua-md5 选项,下面介绍一下如何在openwrt系统的lua中使用md5。

编译选项

Language
Lua
lua-md5
编译选项添加完城后,保存为 .config ,重新编译

lua-md5 使用

编译完成后,会在系统的 /usr/lib/lua/ 路径下生成有 md5.lua 和 md5/core.so 文件。
sys
其中 md5.lua 中封装了一个生成md5码的函数,如下。

----------------------------------------------------------------------------
-- $Id: md5.lua,v 1.4 2006/08/21 19:24:21 carregal Exp $
----------------------------------------------------------------------------

local core
local string = string or require"string"
if string.find(_VERSION, "Lua 5.0") then
        local cpath = os.getenv"LUA_CPATH" or "/usr/local/lib/lua/5.0/"
        core = loadlib(cpath.."md5/core.so", "luaopen_md5_core")()
else
        core = require"md5.core"
end


----------------------------------------------------------------------------
-- @param k String with original message.
-- @return String with the md5 hash value converted to hexadecimal digits

function core.sumhexa (k)
  k = core.sum(k)
  return (string.gsub(k, ".", function (c)
           return string.format("%02x", string.byte(c))
         end))
end

return core

该文件如何使用呢?这其实可以当做一个lua模块,后面只需要在需要生成md5码的lua文件中调用该模块即可。

md5 = require("md5")

local strings= "hellomd5lua"

print(md5.sumhexa(strings))

root@QWER:/tmp# lua md5test.lua 
1c44d4769b5c0b8eeaa173c16b6200b2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘雪冰峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值