blob: 72b432a339a631af8b07357847fa73a5f7bb7303 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
Zesstrad59c3892019-11-28 20:53:39 +01002 #include <tls.h>
MG Mud User88f12472016-06-24 23:31:02 +02003
4 string hash(int method, string arg [, int iterations ] )
Zesstrad59c3892019-11-28 20:53:39 +01005 string hash(int method, bytes arg [, int iterations ] )
MG Mud User88f12472016-06-24 23:31:02 +02006 string hash(int method, int * arg [, int iterations ] )
7
8BESCHREIBUNG
9 Berechne den Hash <method> vom Argument <arg>. Der Hash wird
10 mit <iterations> Wiederholungen berechnet, wird der Wert weggelassen,
Zesstrad59c3892019-11-28 20:53:39 +010011 wird eine Wiederholung verwendet. Falls ein String als <arg>
12 uebergeben wurde, so wird dieser in eine UTF-8-Bytefolge konvertiert
13 und davon der Hash berechnet.
MG Mud User88f12472016-06-24 23:31:02 +020014
15 <method> ist eine der TLS_HASH_-Konstanten in tls.h; nicht jede
16 beschriebene Methode ist in einem gegebenen Driver vorhanden:
17
18 TLS_HASH_SHA1 (1)
19 TLS_HASH_SHA224 (2)
20 TLS_HASH_SHA256 (3)
21 TLS_HASH_SHA384 (4)
22 TLS_HASH_SHA512 (5)
23 TLS_HASH_MD5 (6)
24 TLS_HASH_RIPEMD160 (7)
25
Zesstrad59c3892019-11-28 20:53:39 +010026 Wenn der Driver ohne OpenSSL- oder GCrypt-Unterstuetzung compiliert
27 wurde, sind nur TLS_HASH_SHA1 und TLS_HASH_MD5 verfuegbar.
28
29 Jede Iteration kostet 10 Evalution-Ticks.
30
MG Mud User88f12472016-06-24 23:31:02 +020031
32BEISPIELE
33 string s;
34
35 s = hash(TLS_HASH_SHA1, "Hello", 2);
36 s = hash(TLS_HASH_SHA1, ({ 'H', 'e', 'l', 'l', 'o' }) )
37
38GESCHICHTE
Zesstrad59c3892019-11-28 20:53:39 +010039 Eingefuehrt in LDMud 3.3.714.
40 LDMud 3.3.719 fuehrte die iterationsbasierten Evaluationskosten ein.
MG Mud User88f12472016-06-24 23:31:02 +020041
42SIEHE AUCH
43 crypt(E), md5(E), md5_crypt(E), sha1(E), hmac(E)