OpenWrt中Lua支持MD5

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章