lua-resty-sm3

纯 Lua 实现的 SM3 哈希算法

$ opm get toruneko/lua-resty-sm3

名称

lua-resty-sm3 - 用于 LuaJIT 的 SM3 函数

状态

该库被认为已准备好用于生产环境。

构建状态: [!Travis](https://travis-ci.org/toruneko/lua-resty-sm3)

描述

此库需要使用包含 ngx_lua 模块 的 nginx 构建版本,以及 LuaJIT 2.0

摘要

        # nginx.conf:
    
        lua_package_path "/path/to/lua-resty-sm3/lib/?.lua;;";
    
        server {
            location = /t {
                content_by_lua_block {
                    local resty_sm3 = require "resty.sm3"
                    local sm3 = resty_sm3:new()
                    sm3:update("abc")
                    ngx.say(sm3:final())
    
                    sm3:reset()
                    sm3:update("abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd")
                    ngx.say(sm3:final())
                }
            }
        }
        

方法

要加载此库,

  1. 您需要在 ngx_lua 的 lua_package_path 指令中指定此库的路径。例如,lua_package_path "/path/to/lua-resty-sm3/lib/?.lua;;";

  2. 您可以使用 require 将库加载到一个本地 Lua 变量中。

        local sm3 = require "resty.sm3"

new

语法: obj = sm3:new()

创建一个新的 sm3 对象实例。

    -- creates a sm3 object
    local resty_sm3 = require "resty.sm3"
    local sm3 = resty_sm3:new()

update

语法: ok = sm3:update(str)

final

语法: hash = sm3:final()

reset

语法: sm3:reset()

作者

戴建豪 (toruneko) <toruneko@outlook.com>

版权和许可

此模块根据 MIT 许可证授权。

版权所有 (C) 2018,戴建豪 (toruneko) <toruneko@outlook.com>

保留所有权利。

在满足以下条件的情况下,允许以源代码和二进制形式重新分发和使用,无论是否修改。

  • 源代码的再分发必须保留上述版权声明、此条件列表以及以下免责声明。

  • 二进制形式的再分发必须在随分发提供的文档和/或其他材料中复制上述版权声明、此条件列表以及以下免责声明。

本软件由版权持有人和贡献者“按原样”提供,并且不提供任何明示或暗示的担保,包括但不限于适销性和特定用途适用性的暗示担保。在任何情况下,版权持有人或贡献者均不对任何直接的、间接的、偶然的、特殊的、惩戒性的或后果性的损害(包括但不限于替代商品或服务的采购;使用、数据或利润损失;或业务中断)负责,无论这些损害是如何造成的以及基于任何责任理论,无论是合同、严格责任还是侵权行为(包括疏忽或其他),即使已告知可能发生此类损害。

另请参阅

  • ngx_lua 模块:https://github.com/openresty/lua-nginx-module =back

POD 错误

注意!以上文档存在一些编码错误,如下所述:

大约在第 138 行

=over 未关闭 =back

作者

戴建豪 (toruneko)

许可证

mit

版本