summaryrefslogtreecommitdiff
path: root/doc/en/weechat_plugin_api.en.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/en/weechat_plugin_api.en.adoc')
-rw-r--r--doc/en/weechat_plugin_api.en.adoc126
1 files changed, 66 insertions, 60 deletions
diff --git a/doc/en/weechat_plugin_api.en.adoc b/doc/en/weechat_plugin_api.en.adoc
index f1c3be540..677a756f6 100644
--- a/doc/en/weechat_plugin_api.en.adoc
+++ b/doc/en/weechat_plugin_api.en.adoc
@@ -2061,66 +2061,6 @@ char *dump = weechat_string_hex_dump (string, strlen (string), 8, " >> ", NULL);
[NOTE]
This function is not available in scripting API.
-==== string_hash
-
-_WeeChat ≥ 2.8._
-
-Compute hash of data.
-
-Prototype:
-
-[source,C]
-----
-int string_hash (const void *data, int data_size, const char *hash_algo, void *hash, int *hash_size);
-----
-
-Arguments:
-
-* _data_: the data to hash
-* _data_size_: number of bytes to hash in _data_
-* _hash_algo_: the hash algorithm, see table below
-* _hash_: pointer to the hash variable, which is used to store the resulting hash
- (the buffer must be large enough, according to the algorithm, see table below)
-* _hash_size_: pointer to a variable used to store the size of the hash computed
- (in bytes) (can be NULL)
-
-Supported hash algorithms:
-
-[width="100%",cols="2,2,3,6",options="header"]
-|===
-| Value | Algorithm | Hash size | Notes
-| `+crc32+` | CRC32 | 4 bytes (32 bits) | Not a hash algorithm in the cryptographic sense.
-| `+md5+` | MD5 | 16 bytes (128 bits) | *Weak*, not recommended for cryptography usage.
-| `+sha1+` | SHA-1 | 20 bytes (160 bits) | *Weak*, not recommended for cryptography usage.
-| `+sha224+` | SHA-224 | 28 bytes (224 bits) |
-| `+sha256+` | SHA-256 | 32 bytes (256 bits) |
-| `+sha384+` | SHA-384 | 48 bytes (384 bits) |
-| `+sha512+` | SHA-512 | 64 bytes (512 bits) |
-| `+sha3-224+` | SHA3-224 | 28 bytes (224 bits) |
-| `+sha3-256+` | SHA3-256 | 32 bytes (256 bits) |
-| `+sha3-384+` | SHA3-384 | 48 bytes (384 bits) |
-| `+sha3-512+` | SHA3-512 | 64 bytes (512 bits) |
-|===
-
-Return value:
-
-* 1 if OK, 0 if error
-
-C example:
-
-[source,C]
-----
-const char *data = "abcdefghijklmnopqrstuvwxyz";
-char hash[256 / 8];
-int rc, hash_size;
-rc = weechat_string_hash (data, strlen (data), "sha256", hash, &hash_size);
-/* rc == 1, hash_size == 32 and hash is a buffer with:
- 71 c4 80 df 93 d6 ae 2f 1e fa d1 44 7c 66 c9 52 5e 31 62 18 cf 51 fc 8d 9e d8 32 f2 da f1 8b 73 */
-----
-
-[NOTE]
-This function is not available in scripting API.
-
==== string_is_command_char
_WeeChat ≥ 0.3.2._
@@ -3386,6 +3326,72 @@ free (string);
[NOTE]
This function is not available in scripting API.
+[[crypto]]
+=== Cryptography
+
+Some cryptographic functions.
+
+==== crypto_hash
+
+_WeeChat ≥ 2.8._
+
+Compute hash of data.
+
+Prototype:
+
+[source,C]
+----
+int weechat_crypto_hash (const void *data, int data_size, const char *hash_algo,
+ void *hash, int *hash_size);
+----
+
+Arguments:
+
+* _data_: the data to hash
+* _data_size_: number of bytes to hash in _data_
+* _hash_algo_: the hash algorithm, see table below
+* _hash_: pointer to the hash variable, which is used to store the resulting hash
+ (the buffer must be large enough, according to the algorithm, see table below)
+* _hash_size_: pointer to a variable used to store the size of the hash computed
+ (in bytes) (can be NULL)
+
+Supported hash algorithms:
+
+[width="100%",cols="2,2,3,6",options="header"]
+|===
+| Value | Algorithm | Hash size | Notes
+| `+crc32+` | CRC32 | 4 bytes (32 bits) | Not a hash algorithm in the cryptographic sense.
+| `+md5+` | MD5 | 16 bytes (128 bits) | *Weak*, not recommended for cryptography usage.
+| `+sha1+` | SHA-1 | 20 bytes (160 bits) | *Weak*, not recommended for cryptography usage.
+| `+sha224+` | SHA-224 | 28 bytes (224 bits) |
+| `+sha256+` | SHA-256 | 32 bytes (256 bits) |
+| `+sha384+` | SHA-384 | 48 bytes (384 bits) |
+| `+sha512+` | SHA-512 | 64 bytes (512 bits) |
+| `+sha3-224+` | SHA3-224 | 28 bytes (224 bits) |
+| `+sha3-256+` | SHA3-256 | 32 bytes (256 bits) |
+| `+sha3-384+` | SHA3-384 | 48 bytes (384 bits) |
+| `+sha3-512+` | SHA3-512 | 64 bytes (512 bits) |
+|===
+
+Return value:
+
+* 1 if OK, 0 if error
+
+C example:
+
+[source,C]
+----
+const char *data = "abcdefghijklmnopqrstuvwxyz";
+char hash[256 / 8];
+int rc, hash_size;
+rc = weechat_crypto_hash (data, strlen (data), "sha256", hash, &hash_size);
+/* rc == 1, hash_size == 32 and hash is a buffer with:
+ 71 c4 80 df 93 d6 ae 2f 1e fa d1 44 7c 66 c9 52 5e 31 62 18 cf 51 fc 8d 9e d8 32 f2 da f1 8b 73 */
+----
+
+[NOTE]
+This function is not available in scripting API.
+
[[directories]]
=== Directories