20.3.17. 哈希

哈希函数通过 suricata.hashing 库暴露给 Lua 脚本使用。例如:

local hashing = require("suricata.hashing")

20.3.17.1. SHA-256

20.3.17.1.1. sha256_digest(string)

对提供的字符串进行 SHA-256 哈希计算,返回字节形式的摘要。

20.3.17.1.2. sha256_hex_digest(string)

对提供的字符串进行 SHA-256 哈希计算,返回十六进制字符串形式的摘要。

20.3.17.1.3. sha256()

返回一个可多次更新的 SHA-256 哈希计算器,例如:

local hashing = require("suricata.hashing")
hasher = hashing.sha256()
hasher.update("www.suricata")
hasher.update(".io")
hash = hasher.finalize_to_hex()

哈希计算器对象的方法包括:

  • update(string): 向哈希计算器添加更多数据

  • finalize(): 完成哈希计算,返回字节字符串形式的哈希值

  • finalize_to_hex(): 完成哈希计算,返回十六进制字符串形式的哈希值

20.3.17.2. SHA-1

20.3.17.2.1. sha1_digest(string)

对提供的字符串进行 SHA-1 哈希计算,返回字节形式的摘要。

20.3.17.2.2. sha1_hex_digest(string)

对提供的字符串进行 SHA-1 哈希计算,返回十六进制字符串形式的摘要。

20.3.17.2.3. sha1()

返回一个可多次更新的 SHA-1 哈希计算器,例如:

local hashing = require("suricata.hashing")
hasher = hashing.sha1()
hasher.update("www.suricata")
hasher.update(".io")
hash = hasher.finalize_to_hex()

哈希计算器对象的方法包括:

  • update(string): 向哈希计算器添加更多数据

  • finalize(): 完成哈希计算,返回字节字符串形式的哈希值

  • finalize_to_hex(): 完成哈希计算,返回十六进制字符串形式的哈希值

20.3.17.3. MD5

20.3.17.3.1. md5_digest(string)

对提供的字符串进行 MD5 哈希计算,返回字节形式的摘要。

20.3.17.3.2. md5_hex_digest(string)

对提供的字符串进行 MD5 哈希计算,返回十六进制字符串形式的摘要。

20.3.17.3.3. md5()

返回一个可多次更新的 MD5 哈希计算器,例如:

local hashing = require("suricata.hashing")
hasher = hashing.md5()
hasher.update("www.suricata")
hasher.update(".io")
hash = hasher.finalize_to_hex()

哈希计算器对象的方法包括:

  • update(string): 向哈希计算器添加更多数据

  • finalize(): 完成哈希计算,返回字节字符串形式的哈希值

  • finalize_to_hex(): 完成哈希计算,返回十六进制字符串形式的哈希值