Hash-Funktionen
Kryptografische Hash-Funktionen und HMAC-Nachrichtenauthentifizierung.
Laden
local hash = require("hash")
Kryptografische Hashes
MD5
local hex = hash.md5("data")
local raw = hash.md5("data", true)
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
string | Zu hashende Daten |
raw |
boolean? | Rohe Bytes statt Hex zurückgeben |
Gibt zurück: string, error
SHA-1
local hex = hash.sha1("data")
local raw = hash.sha1("data", true)
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
string | Zu hashende Daten |
raw |
boolean? | Rohe Bytes statt Hex zurückgeben |
Gibt zurück: string, error
SHA-256
local hex = hash.sha256("data")
local raw = hash.sha256("data", true)
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
string | Zu hashende Daten |
raw |
boolean? | Rohe Bytes statt Hex zurückgeben |
Gibt zurück: string, error
SHA-512
local hex = hash.sha512("data")
local raw = hash.sha512("data", true)
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
string | Zu hashende Daten |
raw |
boolean? | Rohe Bytes statt Hex zurückgeben |
Gibt zurück: string, error
HMAC-Authentifizierung
HMAC-MD5
local hex = hash.hmac_md5("message", "secret")
local raw = hash.hmac_md5("message", "secret", true)
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
string | Zu authentifizierende Nachricht |
secret |
string | Geheimer Schlüssel |
raw |
boolean? | Rohe Bytes statt Hex zurückgeben |
Gibt zurück: string, error
HMAC-SHA1
local hex = hash.hmac_sha1("message", "secret")
local raw = hash.hmac_sha1("message", "secret", true)
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
string | Zu authentifizierende Nachricht |
secret |
string | Geheimer Schlüssel |
raw |
boolean? | Rohe Bytes statt Hex zurückgeben |
Gibt zurück: string, error
HMAC-SHA256
local hex = hash.hmac_sha256("message", "secret")
local raw = hash.hmac_sha256("message", "secret", true)
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
string | Zu authentifizierende Nachricht |
secret |
string | Geheimer Schlüssel |
raw |
boolean? | Rohe Bytes statt Hex zurückgeben |
Gibt zurück: string, error
HMAC-SHA512
local hex = hash.hmac_sha512("message", "secret")
local raw = hash.hmac_sha512("message", "secret", true)
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
string | Zu authentifizierende Nachricht |
secret |
string | Geheimer Schlüssel |
raw |
boolean? | Rohe Bytes statt Hex zurückgeben |
Gibt zurück: string, error
Nicht-kryptografische Hashes
FNV-32
Schneller Hash für Hash-Tabellen und Partitionierung.
local n = hash.fnv32("data")
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
string | Zu hashende Daten |
Gibt zurück: number, error
FNV-64
Schneller Hash mit größerer Ausgabe für reduzierte Kollisionen.
local n = hash.fnv64("data")
| Parameter | Typ | Beschreibung |
|---|---|---|
data |
string | Zu hashende Daten |
Gibt zurück: number, error
Fehler
| Bedingung | Art | Wiederholbar |
|---|---|---|
| Eingabe ist kein String | errors.INVALID |
nein |
| Secret ist kein String (HMAC) | errors.INVALID |
nein |
Siehe Fehlerbehandlung für die Arbeit mit Fehlern.