mirror of https://github.com/OISF/suricata
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.4 KiB
ReStructuredText
100 lines
2.4 KiB
ReStructuredText
Hashing
|
|
-------
|
|
|
|
Hashing functions are exposed to Lua scripts with ``suricata.hashing``
|
|
library. For example::
|
|
|
|
local hashing = require("suricata.hashing")
|
|
|
|
SHA-256
|
|
~~~~~~~
|
|
|
|
``sha256_digest(string)``
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
SHA-256 hash the provided string returning the digest as bytes.
|
|
|
|
``sha256_hex_digest(string)``
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
SHA-256 hash the provided string returning the digest as a hex string.
|
|
|
|
``sha256()``
|
|
^^^^^^^^^^^^
|
|
|
|
Returns a SHA-256 hasher that can be updated multiple times, for
|
|
example::
|
|
|
|
local hashing = require("suricata.hashing")
|
|
hasher = hashing.sha256()
|
|
hasher.update("www.suricata")
|
|
hasher.update(".io")
|
|
hash = hasher.finalize_to_hex()
|
|
|
|
The methods on the hasher object include:
|
|
|
|
* ``update(string)``: Add more data to the hasher
|
|
* ``finalize()``: Finalize the hash returning the hash as a byte string
|
|
* ``finalize_to_hex()``: Finalize the hash returning the has as a hex string
|
|
|
|
SHA-1
|
|
~~~~~
|
|
|
|
``sha1_digest(string)``
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
SHA-1 hash the provided string returning the digest as bytes.
|
|
|
|
``sha1_hex_digest(string)``
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
SHA-1 hash the provided string returning the digest as a hex string.
|
|
|
|
``sha1()``
|
|
^^^^^^^^^^
|
|
|
|
Returns a SHA-1 hasher that can be updated multiple times, for
|
|
example::
|
|
|
|
local hashing = require("suricata.hashing")
|
|
hasher = hashing.sha1()
|
|
hasher.update("www.suricata")
|
|
hasher.update(".io")
|
|
hash = hasher.finalize_to_hex()
|
|
|
|
The methods on the hasher object include:
|
|
|
|
* ``update(string)``: Add more data to the hasher
|
|
* ``finalize()``: Finalize the hash returning the hash as a byte string
|
|
* ``finalize_to_hex()``: Finalize the hash returning the has as a hex string
|
|
|
|
MD5
|
|
~~~
|
|
|
|
``md5_digest(string)``
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
MD5 hash the provided string returning the digest as bytes.
|
|
|
|
``md5_hex_digest(string)``
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
MD5 hash the provided string returning the digest as a hex string.
|
|
|
|
``md5()``
|
|
^^^^^^^^^
|
|
|
|
Returns a MD5 hasher that can be updated multiple times, for example::
|
|
|
|
local hashing = require("suricata.hashing")
|
|
hasher = hashing.md5()
|
|
hasher.update("www.suricata")
|
|
hasher.update(".io")
|
|
hash = hasher.finalize_to_hex()
|
|
|
|
The methods on the hasher object include:
|
|
|
|
* ``update(string)``: Add more data to the hasher
|
|
* ``finalize()``: Finalize the hash returning the hash as a byte string
|
|
* ``finalize_to_hex()``: Finalize the hash returning the hash as a hex string
|