SYNOPSIS
        #include <tls.h>

        string hash(int method, string arg [, int iterations ] )
        string hash(int method, bytes  arg [, int iterations ] )
        string hash(int method, int *  arg [, int iterations ] )

BESCHREIBUNG
        Berechne den Hash <method> vom Argument <arg>. Der Hash wird
        mit <iterations> Wiederholungen berechnet, wird der Wert weggelassen,
        wird eine Wiederholung verwendet. Falls ein String als <arg>
        uebergeben wurde, so wird dieser in eine UTF-8-Bytefolge konvertiert
        und davon der Hash berechnet.

        <method> ist eine der TLS_HASH_-Konstanten in tls.h; nicht jede
        beschriebene Methode ist in einem gegebenen Driver vorhanden:

          TLS_HASH_SHA1      (1)
          TLS_HASH_SHA224    (2)
          TLS_HASH_SHA256    (3)
          TLS_HASH_SHA384    (4)
          TLS_HASH_SHA512    (5)
          TLS_HASH_MD5       (6)
          TLS_HASH_RIPEMD160 (7)

        Wenn der Driver ohne OpenSSL- oder GCrypt-Unterstuetzung compiliert
        wurde, sind nur TLS_HASH_SHA1 und TLS_HASH_MD5 verfuegbar.

        Jede Iteration kostet 10 Evalution-Ticks.


BEISPIELE
        string s;

        s = hash(TLS_HASH_SHA1, "Hello", 2);
        s = hash(TLS_HASH_SHA1, ({ 'H', 'e', 'l', 'l', 'o' }) )

GESCHICHTE
        Eingefuehrt in LDMud 3.3.714.
        LDMud 3.3.719 fuehrte die iterationsbasierten Evaluationskosten ein.

SIEHE AUCH
        crypt(E), md5(E), md5_crypt(E), sha1(E), hmac(E)
