Added documentation for MD4 and SHA384 functions. Supplementing documentation with SHA-512 where it was missing.

This commit is contained in:
Nikita Tikhomirov 2021-10-01 04:38:34 +03:00
parent 37f76d60ff
commit 2d23f40fd2
3 changed files with 25 additions and 3 deletions

View File

@ -40,6 +40,10 @@ SELECT halfMD5(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')
└────────────────────┴────────┘
```
## MD4 {#hash_functions-md4}
Calculates the MD4 from a string and returns the resulting set of bytes as FixedString(16).
## MD5 {#hash_functions-md5}
Calculates the MD5 from a string and returns the resulting set of bytes as FixedString(16).
@ -143,9 +147,11 @@ It works faster than intHash32. Average quality.
## SHA256 {#sha256}
## SHA384 {#sha384}
## SHA512 {#sha512}
Calculates SHA-1, SHA-224, SHA-256 or SHA-512 from a string and returns the resulting set of bytes as FixedString(20), FixedString(28), FixedString(32), or FixedString(64).
Calculates SHA-1, SHA-224, SHA-256, SHA-384 or SHA-512 from a string and returns the resulting set of bytes as FixedString(20), FixedString(28), FixedString(32), FixedString(48) or FixedString(64).
The function works fairly slowly (SHA-1 processes about 5 million short strings per second per processor core, while SHA-224 and SHA-256 process about 2.2 million).
We recommend using this function only in cases when you need a specific hash function and you cant select it.
Even in these cases, we recommend applying the function offline and pre-calculating values when inserting them into the table, instead of applying it in SELECTS.

View File

@ -40,6 +40,10 @@ SELECT halfMD5(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')
└────────────────────┴────────┘
```
## MD4 {#hash_functions-md4}
文字列からMD4を計算し、結果のバイトセットをFixedString(16)として返します。
## MD5 {#hash_functions-md5}
文字列からMD5を計算し、結果のバイトセットをFixedString(16)として返します。
@ -143,7 +147,11 @@ SELECT groupBitXor(cityHash64(*)) FROM table
## SHA256 {#sha256}
文字列からSHA-1、SHA-224、またはSHA-256を計算し、結果のバイトセットをFixedString(20)、FixedString(28)、またはFixedString(32)として返します。
## SHA384 {#sha384}
## SHA512 {#sha512}
文字列からSHA-1、SHA-224、SHA-256、SHA-384、またはSHA-512を計算し、結果のバイトセットをFixedString(20)、FixedString(28)、FixedString(32)、FixedString(48)またはFixedString(64)として返します。
この機能はかなりゆっくりと動作しますSHA-1はプロセッサコア毎秒約5万の短い文字列を処理しますが、SHA-224とSHA-256は約2.2万の短い文字列を処理
この関数は、特定のハッシュ関数が必要で選択できない場合にのみ使用することをお勧めします。
このような場合でも、SELECTに適用するのではなく、関数をオフラインで適用し、テーブルに挿入するときに値を事前に計算することをお勧めします。

View File

@ -40,6 +40,10 @@ SELECT halfMD5(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')
└────────────────────┴────────┘
```
## MD4 {#hash_functions-md4}
Вычисляет MD4 от строки и возвращает полученный набор байт в виде FixedString(16).
## MD5 {#hash_functions-md5}
Вычисляет MD5 от строки и возвращает полученный набор байт в виде FixedString(16).
@ -143,7 +147,11 @@ SELECT groupBitXor(cityHash64(*)) FROM table
## SHA256 {#sha256}
Вычисляет SHA-1, SHA-224, SHA-256 от строки и возвращает полученный набор байт в виде FixedString(20), FixedString(28), FixedString(32).
## SHA384 {#sha384}
## SHA512 {#sha512}
Вычисляет SHA-1, SHA-224, SHA-256 от строки и возвращает полученный набор байт в виде FixedString(20), FixedString(28), FixedString(32), FixedLength(48) или FixedString(64).
Функция работает достаточно медленно (SHA-1 - примерно 5 миллионов коротких строк в секунду на одном процессорном ядре, SHA-224 и SHA-256 - примерно 2.2 миллионов).
Рекомендуется использовать эти функции лишь в тех случаях, когда вам нужна конкретная хэш-функция и вы не можете её выбрать.
Даже в этих случаях, рекомендуется применять функцию оффлайн - заранее вычисляя значения при вставке в таблицу, вместо того, чтобы применять её при SELECT-ах.