hash() (Funktion)
Die Funktion hash() gibt je nach dem von Ihnen ausgewählten Algorithmus einen Hashwert der Eingabedaten mit 128 Bit, 160 Bit oder 256 Bit zurück.
Diese Funktion bietet 2128-2256 unterschiedliche Rückgabewerte und ist für Verschlüsselungszwecke bestimmt. Die Funktion erzeugt für zwei unterschiedliche Eingaben fast nie dieselbe Ausgabe.
- Die Funktion hash() ist bei der Ausführung von Berechnungen in der Regel viel langsamer als die Funktion hash4() oder hash8(). Darüber hinaus gibt die Funktion hash() einen binären varchar-Wert zwischen 16 und 32 Byte zurück; der Vergleich binärer varchar-Werte benötigt eine längere Zeit als der Vergleich von Ganzzahlwerten, wodurch die Ausführungszeit von Abfragen erhöht wird. Wenn Sie bei der Generierung von Hashwerten und bei Vergleichen Geschwindigkeit benötigen oder wenn Sie lediglich eine einfache unidirektionale Suchfunktion benötigen, können Sie die Funktion hash4() oder hash8() statt der Funktion hash() verwenden.
- Spalten mit Hash-Werten aus der Funktion " hash() können nicht in Zonen gemappt werden und verwenden keine anderen Netezza Performance Server.
Syntax
varchar = hash(varchar data [, int algorithm]);
nvarchar = hash(nvarchar data [, int algorithm]);
Der Wert " data gibt den zu hashenden varchar- oder nvarchar-Wert an.
Der Wert " algorithm ist ein ganzzahliger Code, der standardmäßig auf 0 gesetzt wird. Die verfügbaren Algorithmen und die Größe der resultierenden Hash-Werte sind in der folgenden Tabelle aufgeführt:
| Code erstellen | Beschreibung | Ergebnis |
|---|---|---|
| 0 | MD5 | Hashwert mit 128 Bit |
| 1 | SHA-1 | Hashwert mit 160 Bit |
| 2 | SHA-2 | Hashwert mit 256 Bit |
Der Algorithmus MD5 und der Secure Hash Algorithm (SHA) sind Message-Digest-Algorithmen, die von MD4 abgeleitet sind. Die SHA-Hashfunktionen sind das Ergebnis von Bemühungen der US-amerikanischen National Security Agency (NSA), leistungsfähige kryptografische Funktionen für das Hashing bereitzustellen.
Rückgabe
Die Funktion gibt hashverschlüsselte Daten zurück. Der Rückgabetyp ist ein binärer varchar-Wert mit einer Länge zwischen 16 und 32 Byte.
Beispiel
select hash('Netezza',0);
HASH
------------------
Ã
®dïO=±NEÂ
ÂÂÃ
(1 row)