哈希函数
加密哈希函数和 HMAC 消息认证。
local hash = require("hash")local hex = hash.md5("data")local raw = hash.md5("data", true)| 参数 | 类型 | 描述 |
|---|---|---|
data | string | 要哈希的数据 |
raw | boolean? | 返回原始字节而非十六进制 |
返回值: string, error
local hex = hash.sha1("data")local raw = hash.sha1("data", true)| 参数 | 类型 | 描述 |
|---|---|---|
data | string | 要哈希的数据 |
raw | boolean? | 返回原始字节而非十六进制 |
返回值: string, error
SHA-256
Section titled “SHA-256”local hex = hash.sha256("data")local raw = hash.sha256("data", true)| 参数 | 类型 | 描述 |
|---|---|---|
data | string | 要哈希的数据 |
raw | boolean? | 返回原始字节而非十六进制 |
返回值: string, error
SHA-512
Section titled “SHA-512”local hex = hash.sha512("data")local raw = hash.sha512("data", true)| 参数 | 类型 | 描述 |
|---|---|---|
data | string | 要哈希的数据 |
raw | boolean? | 返回原始字节而非十六进制 |
返回值: string, error
HMAC 认证
Section titled “HMAC 认证”HMAC-MD5
Section titled “HMAC-MD5”local hex = hash.hmac_md5("message", "secret")local raw = hash.hmac_md5("message", "secret", true)| 参数 | 类型 | 描述 |
|---|---|---|
data | string | 要认证的消息 |
secret | string | 密钥 |
raw | boolean? | 返回原始字节而非十六进制 |
返回值: string, error
HMAC-SHA1
Section titled “HMAC-SHA1”local hex = hash.hmac_sha1("message", "secret")local raw = hash.hmac_sha1("message", "secret", true)| 参数 | 类型 | 描述 |
|---|---|---|
data | string | 要认证的消息 |
secret | string | 密钥 |
raw | boolean? | 返回原始字节而非十六进制 |
返回值: string, error
HMAC-SHA256
Section titled “HMAC-SHA256”local hex = hash.hmac_sha256("message", "secret")local raw = hash.hmac_sha256("message", "secret", true)| 参数 | 类型 | 描述 |
|---|---|---|
data | string | 要认证的消息 |
secret | string | 密钥 |
raw | boolean? | 返回原始字节而非十六进制 |
返回值: string, error
HMAC-SHA512
Section titled “HMAC-SHA512”local hex = hash.hmac_sha512("message", "secret")local raw = hash.hmac_sha512("message", "secret", true)| 参数 | 类型 | 描述 |
|---|---|---|
data | string | 要认证的消息 |
secret | string | 密钥 |
raw | boolean? | 返回原始字节而非十六进制 |
返回值: string, error
FNV-32
Section titled “FNV-32”用于哈希表和分区的快速哈希。
local n = hash.fnv32("data")| 参数 | 类型 | 描述 |
|---|---|---|
data | string | 要哈希的数据 |
返回值: number, error
FNV-64
Section titled “FNV-64”具有更大输出以减少冲突的快速哈希。
local n = hash.fnv64("data")| 参数 | 类型 | 描述 |
|---|---|---|
data | string | 要哈希的数据 |
返回值: number, error
| 条件 | 类型 | 可重试 |
|---|---|---|
| 输入不是字符串 | errors.INVALID | 否 |
| 密钥不是字符串(HMAC) | errors.INVALID | 否 |
参见 错误处理 了解如何处理错误。