| 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 ] ) |
| |
| DESCRIPTION |
| Calculate the hash from <arg> as determined by <method>. The hash is |
| calculated with <iterations> iterations, default is 1 iteration. |
| If <arg> is a string, it will be converted to a UTF-8 byte sequence |
| of which then the hash will be created. |
| |
| <method> is one of the TLS_HASH_ constants defined in tls.h; not |
| all recognized methods may be supported for a given driven: |
| |
| 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) |
| |
| If the driver is compiled without OpenSSL or GCrypt support |
| only TLS_HASH_SHA1 and TLS_HASH_MD5 are available. |
| |
| The efun costs 10 ticks per iteration. |
| |
| |
| EXAMPLES |
| string s; |
| |
| s = hash(TLS_HASH_SHA1, "Hello", 2); |
| s = hash(TLS_HASH_SHA1, ({ 'H', 'e', 'l', 'l', 'o' }) ) |
| |
| HISTORY |
| Introduced in LDMud 3.3.714. |
| LDMud 3.3.719 added the iteration-based evaluation cost. |
| |
| SEE ALSO |
| crypt(E), md5(E), md5_crypt(E), sha1(E), hmac(E) |