ハッシュ関数
ハッシュ関数は、要素の決定論的疑似ランダムシャッフルに使用できます。
Simhash は、近い(類似した)引数に対して近いハッシュ値を返すハッシュ関数です。
ほとんどのハッシュ関数は、任意の数の引数と任意の型を受け入れます。
NULL のハッシュは NULL です。Nullable カラムの非 NULL ハッシュを取得するには、タプルで包装します:
テーブル全体のコンテンツのハッシュを計算するには、sum(cityHash64(tuple(*)))(他のハッシュ関数でも可)を使用します。tuple は NULL 値を持つ行がスキップされないようにします。sum は行の順序が重要でないことを保証します。
BLAKE3
導入バージョン: v22.10
BLAKE3 ハッシュ文字列を計算し、結果のバイトセットを FixedString として返します。 この暗号学的ハッシュ関数は、BLAKE3 Rust ライブラリとともに ClickHouse に統合されています。 この関数は非常に速く、SHA-2 と比較して約 2 倍速い性能を示し、SHA-256 と同じ長さのハッシュを生成します。 これは、FixedString(32) 型のバイト配列として BLAKE3 ハッシュを返します。
構文
引数
message— ハッシュ化する入力文字列。String
返される値
入力文字列の 32 バイト BLAKE3 ハッシュを固定長文字列として返します。 FixedString(32)
例
ハッシュ
MD4
導入バージョン: v21.11
指定された文字列の MD4 ハッシュを計算します。
構文
引数
s— ハッシュ化する入力文字列。String
返される値
指定された入力文字列の MD4 ハッシュを固定長文字列として返します。 FixedString(16)
例
使用例
MD5
導入バージョン: v1.1
指定された文字列の MD5 ハッシュを計算します。
構文
引数
s— ハッシュ化する入力文字列。String
返される値
指定された入力文字列の MD5 ハッシュを固定長文字列として返します。 FixedString(16)
例
使用例
RIPEMD160
導入バージョン: v24.10
指定された文字列の RIPEMD-160 ハッシュを計算します。
構文
引数
s— ハッシュ化する入力文字列。String
返される値
指定された入力文字列の RIPEMD160 ハッシュを固定長文字列として返します。 FixedString(20)
例
使用例
SHA1
導入バージョン: v1.1
指定された文字列の SHA1 ハッシュを計算します。
構文
引数
s— ハッシュ化する入力文字列。String
返される値
指定された入力文字列の SHA1 ハッシュを固定長文字列として返します。 FixedString(20)
例
使用例
SHA224
導入バージョン: v1.1
指定された文字列の SHA224 ハッシュを計算します。
構文
引数
s— ハッシュ化する入力文字列。String
返される値
指定された入力文字列の SHA224 ハッシュを固定長文字列として返します。 FixedString(28)
例
使用例
SHA256
導入バージョン: v1.1
指定された文字列の SHA256 ハッシュを計算します。
構文
引数
s— ハッシュ化する入力文字列。String
返される値
指定された入力文字列の SHA256 ハッシュを固定長文字列として返します。 FixedString(32)
例
使用例
SHA384
導入バージョン: v1.1
指定された文字列の SHA384 ハッシュを計算します。
構文
引数
s— ハッシュ化する入力文字列。String
返される値
指定された入力文字列の SHA384 ハッシュを固定長文字列として返します。 FixedString(48)
例
使用例
SHA512
導入バージョン: v1.1
指定された文字列の SHA512 ハッシュを計算します。
構文
引数
s— ハッシュ化する入力文字列。String
返される値
指定された入力文字列の SHA512 ハッシュを固定長文字列として返します。 FixedString(64)
例
使用例
SHA512_256
導入バージョン: v1.1
指定された文字列の SHA512_256 ハッシュを計算します。
構文
引数
s— ハッシュ化する入力文字列。String
返される値
指定された入力文字列の SHA512_256 ハッシュを固定長文字列として返します。 FixedString(32)
例
使用例
URLHash
導入バージョン: v1.1
URL から得られた文字列に対する、ある種の正規化を使用した高速で適度な品質の非暗号学的ハッシュ関数です。
このハッシュ関数には二つのモードがあります。
| モード | 説明 |
|---|---|
URLHash(url) | 終端に存在する場合、/、? または # を持たない文字列からハッシュを計算します。 |
URLHash(url, N) | URL 階層内で N レベルまでの文字列からハッシュを計算します。終端に存在する場合、/、? または # を持たない文字列に対して計算します。レベルは URLHierarchy のものと同じです。 |
構文
引数
返される値
計算されたハッシュ値 url を返します。 UInt64
例
使用例
指定されたレベルの URL のハッシュ
cityHash64
導入バージョン: v1.1
64 ビットの CityHash ハッシュ値を生成します。
これは、速い非暗号学的ハッシュ関数です。 文字列パラメータには CityHash アルゴリズムを使用し、他のデータ型のパラメータには実装固有の速い非暗号学的ハッシュ関数を使用します。 関数は CityHash コンビネータを使用して最終結果を得ます。
Google は ClickHouse に追加された後、CityHash のアルゴリズムを変更しました。 言い換えれば、ClickHouse の cityHash64 と Google のアップストリーム CityHash は現在異なる結果を生成します。 ClickHouse の cityHash64 は CityHash v1.0.2 に相当します。
計算されたハッシュ値は、異なる引数型の同じ入力値について等しくなる場合があります。
これは例えば、異なるサイズの整数型、同じデータを持つ名前付きおよび名前のない Tuple、Map、および同じデータを持つ対応する Array(Tuple(key, value)) 型に影響します。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
返される値
入力引数の計算されたハッシュを返します。 UInt64
例
呼び出し例
行順序までの精度でテーブル全体のチェックサムを計算
farmFingerprint64
導入バージョン: v20.12
Fingerprint64 メソッドを使用して 64 ビットの FarmHash 値を生成します。
farmFingerprint64 は、farmHash64 よりも安定したポータブル値のために好まれます。
計算されたハッシュ値は、異なる引数型の同じ入力値について等しくなる場合があります。
これは例えば、異なるサイズの整数型、同じデータを持つ名前付きおよび名前のない Tuple、Map および同じデータを持つ対応する Array(Tuple(key, value)) 型に影響します。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
返される値
入力引数の計算されたハッシュ値を返します。 UInt64
例
使用例
farmHash64
導入バージョン: v1.1
Hash64 メソッドを使用して 64 ビットの FarmHash を生成します。
farmFingerprint64 は、安定したポータブル値のために好まれます。
計算されたハッシュ値は、異なる引数型の同じ入力値について等しくなる場合があります。
これは例えば、異なるサイズの整数型、同じデータを持つ名前付きおよび名前のない Tuple、Map および同じデータを持つ対応する Array(Tuple(key, value)) 型に影響します。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
返される値
入力引数の計算されたハッシュ値を返します。 UInt64
例
使用例
gccMurmurHash
導入バージョン: v20.1
入力値の 64 ビット MurmurHash2 ハッシュを計算します。これは GCC によって使用されるのと同じシードを使用します。
これは Clang と GCC のビルド間でポータブルです。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための引数の可変数。Any
返される値
入力引数の計算されたハッシュ値を返します。 UInt64
例
使用例
halfMD5
導入バージョン: v1.1
すべての入力 パラメータを文字列として解釈し、それぞれの MD5 ハッシュ値を計算します。次に、ハッシュを組み合わせ、生成された文字列のハッシュの最初の 8 バイトを取り、それらをビッグエンディアンのバイト順で UInt64 として解釈します。この関数は比較的遅く(1 秒あたり 500 万の短い文字列)、入力パラメータの可変数を取ります。 いくつかのデータ型については、引数の型が異なっても同じ値を持つ場合があります(異なるサイズの整数、同じデータを持つ名前付きおよび名前のない Tuple、Map、および同じデータを持つ対応する Array(Tuple(key, value)) 型)。
構文
引数
arg1[, arg2, ..., argN]— ハッシュを計算するための引数の可変数。Any
返される値
指定された入力パラメータの計算された半分の MD5 ハッシュをビッグエンディアンのバイト順で UInt64 として返します。 UInt64
例
使用例
hiveHash
導入バージョン: v20.1
文字列から "HiveHash" を計算します。
これは単に JavaHash で符号ビットがゼロに設定されたものです。
この関数は、バージョン 3.0 以前の Apache Hive で使用されます。
このハッシュ関数は性能が悪いです。 このアルゴリズムが別のシステムで既に使用されている場合にのみ使用してください。 :::
構文
引数
arg— ハッシュ化する入力文字列。String
返される値
入力文字列の計算された "hive hash" を返します。 Int32
例
使用例
intHash32
導入バージョン: v1.1
整数の 32 ビットハッシュを計算します。
このハッシュ関数は比較的速いですが、暗号学的ハッシュ関数ではありません。
構文
引数
arg— ハッシュ化する整数。(U)Int*
返される値
計算された整数の 32 ビットハッシュコードを返します。 UInt32
例
使用例
intHash64
導入バージョン: v1.1
整数の 64 ビットハッシュを計算します。
このハッシュ関数は比較的速く(intHash32 よりも速い)ですが、暗号学的ハッシュ関数ではありません。
構文
引数
int— ハッシュ化する整数。(U)Int*
返される値
64 ビットのハッシュコードを返します。 UInt64
例
使用例
javaHash
導入バージョン: v20.1
次の値から JavaHash を計算します:
このハッシュ関数は性能が悪いです。 このアルゴリズムが別のシステムで既に使用されている場合にのみ使用してください。
Java は符号付き整数のハッシュを計算することしかサポートしていないため、符号なし整数のハッシュを計算したい場合は、適切な符号付き ClickHouse タイプにキャストする必要があります。
構文
引数
arg— ハッシュ化する入力値。Any
返される値
arg の計算されたハッシュを返します。 Int32
例
使用例 1
使用例 2
javaHashUTF16LE
導入バージョン: v20.1
UTF-16LE エンコーディングでの文字列を仮定した、文字列から JavaHash を計算します。
構文
引数
arg— UTF-16LE エンコーディングの文字列。String
返される値
UTF-16LE エンコーディングされた文字列の計算されたハッシュを返します。 Int32
例
使用例
jumpConsistentHash
導入バージョン: v1.1
整数の ジャンプ一貫ハッシュ を計算します。
構文
引数
返される値
計算されたハッシュ値を返します。 Int32
例
使用例
kafkaMurmurHash
導入バージョン: v23.4
入力値の 32 ビット MurmurHash2 ハッシュを計算します。これは Kafka によって使用された同じシードを使用し、最上位ビットを削除して Default Partitioner と互換性を持たせます。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための引数の可変数。Any
返される値
入力引数の計算されたハッシュ値を返します。 UInt32
例
使用例
keccak256
導入バージョン: v25.4
指定された文字列の Keccak-256 暗号学的ハッシュを計算します。 このハッシュ関数はブロックチェーンアプリケーション、特に Ethereum で広く使用されています。
構文
引数
message— ハッシュ化する入力文字列。String
返される値
指定された入力文字列の 32 バイト Keccak-256 ハッシュを固定長文字列として返します。 FixedString(32)
例
使用例
kostikConsistentHash
導入バージョン: v22.6
Konstantin 'Kostik' Oblakov による O(1) 時間および空間の一貫したハッシュアルゴリズムです。
n <= 32768 の場合のみ効率的です。
構文
引数
返される値
計算されたハッシュ値を返します。 UInt16
例
使用例
metroHash64
導入バージョン: v1.1
64 ビットの MetroHash ハッシュ値を生成します。
計算されたハッシュ値は、異なる引数型の同じ入力値について等しくなる場合があります。
これは例えば、異なるサイズの整数型、同じデータを持つ名前付きおよび名前のない Tuple、Map および同じデータを持つ対応する Array(Tuple(key, value)) 型に影響します。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
返される値
入力引数の計算されたハッシュを返します。 UInt64
例
使用例
murmurHash2_32
導入バージョン: v18.5
入力値の MurmurHash2 ハッシュを計算します。
計算されたハッシュ値は、異なる引数型の同じ入力値について等しくなる場合があります。
これは例えば、異なるサイズの整数型、同じデータを持つ名前付きおよび名前のない Tuple、Map および同じデータを持つ対応する Array(Tuple(key, value)) 型に影響します。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
返される値
入力引数の計算されたハッシュ値を返します。 UInt32
例
使用例
murmurHash2_64
導入バージョン: v18.10
入力値の MurmurHash2 ハッシュを計算します。
計算されたハッシュ値は、異なる引数型の同じ入力値について等しくなる場合があります。
これは例えば、異なるサイズの整数型、同じデータを持つ名前付きおよび名前のない Tuple、Map および同じデータを持つ対応する Array(Tuple(key, value)) 型に影響します。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
返される値
入力引数の計算されたハッシュを返します。 UInt64
例
使用例
murmurHash3_128
導入バージョン: v18.10
入力値の 128 ビット MurmurHash3 ハッシュを計算します。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
返される値
入力引数の計算された 128 ビット MurmurHash3 ハッシュ値を返します。 FixedString(16)
例
使用例
murmurHash3_32
導入バージョン: v18.10
MurmurHash3 ハッシュ値を生成します。
計算されたハッシュ値は、異なる引数型の同じ入力値について等しくなる場合があります。
これは例えば、異なるサイズの整数型、同じデータを持つ名前付きおよび名前のない Tuple、Map および同じデータを持つ対応する Array(Tuple(key, value)) 型に影響します。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
返される値
入力引数の計算されたハッシュ値を返します。 UInt32
例
使用例
murmurHash3_64
導入バージョン: v18.10
入力値の MurmurHash3 ハッシュを計算します。
計算されたハッシュ値は、異なる引数型の同じ入力値について等しくなる場合があります。
これは例えば、異なるサイズの整数型、同じデータを持つ名前付きおよび名前のない Tuple、Map および同じデータを持つ対応する Array(Tuple(key, value)) 型に影響します。
構文
引数
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
返される値
入力引数の計算されたハッシュ値を返します。 UInt64
例
使用例
ngramMinHash
導入バージョン: v21.1
ASCII 文字列を ngramsize シンボルの n-グラムに分割し、それぞれの n-グラムに対してハッシュ値を計算し、これらのハッシュを持つタプルを返します。
hashnum 最小ハッシュを使用して最小ハッシュを計算し、hashnum 最大ハッシュを使用して最大ハッシュを計算します。
これは大文字と小文字を区別します。
これを使用して、tupleHammingDistance によってセミ重複文字列を検出できます。
二つの文字列に対して、返されるハッシュが両方の文字列で同じであれば、これらの文字列は同じです。
構文
引数
string— ハッシュを計算する文字列。Stringngramsize— オプション。 n-グラムのサイズ、1 から 25 の任意の数。デフォルト値は 3 です。UInt8hashnum— オプション。 結果を計算するために使用される最小および最大ハッシュの数、1 から 25 の任意の数。デフォルト値は 6 です。UInt8
返される値
最小および最大の二つのハッシュを持つタプルを返します。 Tuple
例
使用例
ngramMinHashArg
導入バージョン: v21.1
ASCII 文字列を ngramsize シンボルの n-グラムに分割し、最小および最大ハッシュを持つ n-グラムを返します。これは、同じ入力で ngramMinHash 関数によって計算されます。
これは大文字と小文字を区別します。
構文
引数
string— ハッシュを計算する文字列。Stringngramsize— オプション。 n-グラムのサイズ、1 から 25 の任意の数。デフォルト値は 3 です。UInt8hashnum— オプション。 結果を計算するために使用される最小および最大ハッシュの数、1 から 25 の任意の数。デフォルト値は 6 です。UInt8
返される値
hashnum の各 n-グラムを持つ二つのタプルを返します。 Tuple(String)
例
使用例
ngramMinHashArgCaseInsensitive
導入バージョン: v21.1
ASCII 文字列を ngramsize シンボルの n-グラムに分割し、最小および最大ハッシュを持つ n-グラムを返します。これは、同じ入力で ngramMinHashCaseInsensitive 関数によって計算されます。
大文字と小文字を区別しません。
構文
引数
string— ハッシュを計算する文字列。Stringngramsize— オプション。 n-グラムのサイズ、1 から 25 の任意の数。デフォルト値は 3 です。UInt8hashnum— オプション。 結果を計算するために使用される最小および最大ハッシュの数、1 から 25 の任意の数。デフォルト値は 6 です。UInt8
返される値
hashnum の各 n-グラムを持つ二つのタプルを返します。 Tuple(Tuple(String))
例
使用例
ngramMinHashArgCaseInsensitiveUTF8
導入バージョン: v21.1
UTF-8 文字列を ngramsize シンボルの n-グラムに分割し、最小および最大ハッシュを持つ n-グラムを返します。これは、同じ入力で ngramMinHashUTF8 関数によって計算されます。
大文字と小文字を区別しません。
構文
引数
string— ハッシュを計算する文字列。Stringngramsize— オプション。 n-グラムのサイズ、1 から 25 の任意の数。デフォルト値は 3 です。UInt8hashnum— オプション。 結果を計算するために使用される最小および最大ハッシュの数、1 から 25 の任意の数。デフォルト値は 6 です。UInt8
返される値
hashnum の各 n-グラムを持つ二つのタプルを返します。 Tuple(Tuple(String))
例
使用例
ngramMinHashArgUTF8
導入バージョン: v21.1
UTF-8 文字列を ngramsize シンボルの n-グラムに分割し、最小および最大ハッシュを持つ n-グラムを返します。これは、同じ入力で ngramMinHashUTF8 関数によって計算されます。
これは大文字と小文字を区別します。
構文
引数
string— ハッシュを計算する文字列。Stringngramsize— オプション。 n-グラムのサイズ、1 から 25 の任意の数。デフォルト値は 3 です。UInt8hashnum— オプション。 結果を計算するために使用される最小および最大ハッシュの数、1 から 25 の任意の数。デフォルト値は 6 です。UInt8
返される値
hashnum の各 n-グラムを持つ二つのタプルを返します。 Tuple(Tuple(String))
例
使用例
ngramMinHashCaseInsensitive
導入バージョン: v21.1
ASCII 文字列を ngramsize シンボルの n-グラムに分割し、それぞれの n-グラムに対してハッシュ値を計算し、これらのハッシュを持つタプルを返します。
hashnum 最小ハッシュを使用して最小ハッシュを計算し、hashnum 最大ハッシュを使用して最大ハッシュを計算します。
大文字と小文字を区別しません。
これを使用して、tupleHammingDistance によってセミ重複文字列を検出できます。
二つの文字列に対して、返されるハッシュが両方の文字列で同じであれば、これらの文字列は同じです。
構文
引数
string— 文字列。 String。ngramsize— n-グラムのサイズ。 オプション。 値:1 から 25 の任意の数。 デフォルト値:3。 UInt8。hashnum— 結果を計算するために使用される最小および最大ハッシュの数。 オプション。 値:1 から 25 の任意の数。 デフォルト値:6。 UInt8。
返される値
二つのハッシュ — 最小値と最大値を持つタプル。 Tuple(UInt64, UInt64)。 Tuple
例
使用例
I've ensured the translation retains the structure and content of the original text while smoothly adapting it into Japanese, adhering to the provided guidelines and technical terminology used in ClickHouse documentation.
ngramMinHashCaseInsensitiveUTF8
Introduced in: v21.1
UTF-8 文字列を ngramsize シンボルの n-gram に分割し、各 n-gram のハッシュ値を計算して、これらのハッシュを含むタプルを返します。
hashnum の最小ハッシュを使用して最小ハッシュを計算し、hashnum の最大ハッシュを使用して最大ハッシュを計算します。
大文字と小文字を区別しません。
tupleHammingDistance を使用して、準複製文字列を検出するために使用できます。
2 つの文字列の場合、返されたハッシュが両方の文字列で同じであれば、それらの文字列は同じです。
Syntax
Arguments
string— ハッシュを計算する対象の文字列。Stringngramsize— オプション。n-gram のサイズ、1から25の任意の数。デフォルト値は3です。UInt8hashnum— オプション。結果を計算するために使用される最小および最大ハッシュの数、1から25の任意の数。デフォルト値は6です。UInt8
Returned value
最小ハッシュと最大ハッシュの2つのハッシュを含むタプルを返します。 Tuple
Examples
Usage example
ngramMinHashUTF8
Introduced in: v21.1
UTF-8 文字列を ngramsize シンボルの n-gram に分割し、各 n-gram のハッシュ値を計算して、これらのハッシュを含むタプルを返します。
hashnum の最小ハッシュを使用して最小ハッシュを計算し、hashnum の最大ハッシュを使用して最大ハッシュを計算します。
大文字と小文字を区別します。
tupleHammingDistance を使用して、準複製文字列を検出するために使用できます。
2 つの文字列の場合、返されたハッシュが両方の文字列で同じであれば、それらの文字列は同じです。
Syntax
Arguments
string— ハッシュを計算する対象の文字列。Stringngramsize— オプション。n-gram のサイズ、1から25の任意の数。デフォルト値は3です。UInt8hashnum— オプション。結果を計算するために使用される最小および最大ハッシュの数、1から25の任意の数。デフォルト値は6です。UInt8
Returned value
最小ハッシュと最大ハッシュの2つのハッシュを含むタプルを返します。 Tuple
Examples
Usage example
ngramSimHash
Introduced in: v21.1
ASCII 文字列を ngramsize シンボルの n-gram に分割し、n-gram の simhash を返します。
bitHammingDistance を使用して、準複製文字列を検出するために使用できます。
計算された2つの文字列の simhashes の ハミング距離 が小さいほど、これらの文字列は同じである可能性が高くなります。
Syntax
Arguments
string— ケースセンシティブのsimhashを計算する対象の文字列。Stringngramsize— オプション。n-gram のサイズ、1から25の任意の数。デフォルト値は3です。UInt8
Returned value
入力文字列の計算されたハッシュ値を返します。 UInt64
Examples
Usage example
ngramSimHashCaseInsensitive
Introduced in: v21.1
ASCII 文字列を ngramsize シンボルの n-gram に分割し、n-gram の simhash を返します。
大文字と小文字を区別しません。
bitHammingDistance を使用して、準複製文字列を検出するために使用できます。
計算された 2 つの文字列の simhashes の ハミング距離 が小さいほど、これらの文字列は同じである可能性が高くなります。
Syntax
Arguments
string— ケースインセンシティブのsimhashを計算する対象の文字列。Stringngramsize— オプション。n-gram のサイズ、1から25の任意の数。デフォルト値は3です。UInt8
Returned value
Examples
Usage example
ngramSimHashCaseInsensitiveUTF8
Introduced in: v21.1
UTF-8 文字列を ngramsize シンボルの n-gram に分割し、n-gram の simhash を返します。
大文字と小文字を区別しません。
bitHammingDistance を使用して、準複製文字列を検出するために使用できます。2 つの文字列の計算された simhashes の ハミング距離 が小さいほど、これらの文字列は同じである可能性が高くなります。
Syntax
Arguments
Returned value
計算されたハッシュ値を返します。 UInt64
Examples
Usage example
ngramSimHashUTF8
Introduced in: v21.1
UTF-8 エンコードされた文字列を ngramsize シンボルの n-gram に分割し、n-gram の simhash を返します。
大文字と小文字を区別します。
bitHammingDistance を使用して、準複製文字列を検出するために使用できます。
計算された2つの文字列の simhashes の ハミング距離 が小さいほど、これらの文字列は同じである可能性が高くなります。
Syntax
Arguments
Returned value
計算されたハッシュ値を返します。 UInt64
Examples
Usage example
sipHash128
Introduced in: v1.1
sipHash64 と同様ですが、128 ビットのハッシュ値を生成します。つまり、最終的な XOR フォールディング状態は 128 ビットまで行われます。
この 128 ビットのバリアントは、リファレンス実装と異なり、弱くなっています。
このバージョンは、記述された時点で公式の 128 ビット拡張が SipHash のために存在しなかったために存在します。
新しいプロジェクトにはsipHash128Reference の使用が推奨されます。
Syntax
Arguments
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
Returned value
128 ビット SipHash ハッシュ値を返します。 FixedString(16)
Examples
Usage example
sipHash128Keyed
Introduced in: v23.2
sipHash128 と同様ですが、固定キーを使用するのではなく、明示的なキー引数を取ります。
この 128 ビットのバリアントは、リファレンス実装と異なり、弱くなっています。
このバージョンは、記述された時点で公式の 128 ビット拡張が SipHash のために存在しなかったために存在します。
新しいプロジェクトにはおそらくsipHash128ReferenceKeyed の使用が推奨されます。
Syntax
Arguments
(k0, k1)— キーを表す二つの UInt64 値のタプル。Tuple(UInt64, UInt64)arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
Returned value
128 ビット SipHash ハッシュ値を返します。 FixedString(16)
Examples
Usage example
sipHash128Reference
Introduced in: v23.2
sipHash128 と同様ですが、SipHash のオリジナルの著者から 128 ビットアルゴリズムを実装しています。
Syntax
Arguments
arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
Returned value
入力引数の計算された 128 ビット SipHash ハッシュ値を返します。 FixedString(16)
Examples
Usage example
sipHash128ReferenceKeyed
Introduced in: v23.2
sipHash128Reference と同様ですが、固定キーを使用するのではなく、明示的なキー引数を取ります。
Syntax
Arguments
(k0, k1)— キーを表す二つの値のタプルTuple(UInt64, UInt64)arg1[, arg2, ...]— ハッシュを計算するための入力引数の可変数。Any
Returned value
入力引数の計算された 128 ビット SipHash ハッシュ値を返します。 FixedString(16)
Examples
Usage example
sipHash64
Introduced in: v1.1
64 ビットの SipHash ハッシュ値を生成します。
これは暗号化ハッシュ関数です。これは、MD5 ハッシュ関数よりも少なくとも 3 倍速く動作します。
関数はすべての入力パラメーターを文字列として 解釈し、各々に対するハッシュ値を計算します。 次に、次のアルゴリズムを使用してハッシュを組み合わせます。
- 最初のハッシュ値と2番目のハッシュ値を配列に連結し、それをハッシュ化します。
- 以前に計算されたハッシュ値と3番目の入力パラメーターのハッシュを同様にハッシュ化します。
- この計算は、元の入力の残りのハッシュ値全てに対して繰り返されます。
計算されたハッシュ値は、異なる引数の型に対して同じ入力値に対して等しい場合があります。
これは、例えば異なるサイズの整数型、同じデータを持つ名前付きおよび無名の Tuple、同じデータを持つ Map および対応する Array(Tuple(key, value)) 型に影響を及ぼします。
Syntax
Arguments
arg1[, arg2, ...]— 入力引数の可変数。Any
Returned value
入力引数の計算されたハッシュ値を返します。 UInt64
Examples
Usage example
sipHash64Keyed
Introduced in: v23.2
sipHash64 と同様ですが、固定キーを使用するのではなく、明示的なキー引数を取ります。
Syntax
Arguments
(k0, k1)— キーを表す二つの値のタプル。Tuple(UInt64, UInt64)arg1[,arg2, ...]— 入力引数の可変数。Any
Returned value
入力値の計算されたハッシュを返します。 UInt64
Examples
Usage example
wordShingleMinHash
Introduced in: v21.1
ASCII 文字列を shinglesize 語の部品(シングル)に分割し、各ワードシングルのハッシュ値を計算して、これらのハッシュを含むタプルを返します。
hashnum の最小ハッシュを使用して最小ハッシュを計算し、hashnum の最大ハッシュを使用して最大ハッシュを計算します。
大文字と小文字を区別します。
tupleHammingDistance を使用して、準複製文字列を検出するために使用できます。
2 つの文字列の場合、返されたハッシュが両方の文字列で同じであれば、それらの文字列は同じです。
Syntax
Arguments
string— ハッシュを計算する対象の文字列。Stringshinglesize— オプション。ワードシングルのサイズ、1から25の任意の数。デフォルト値は3です。UInt8hashnum— オプション。結果を計算するために使用される最小および最大ハッシュの数、1から25の任意の数。デフォルト値は6です。UInt8
Returned value
最小ハッシュと最大ハッシュの2つのハッシュを含むタプルを返します。 Tuple(UInt64, UInt64)
Examples
Usage example
wordShingleMinHashArg
Introduced in: v1.1
ASCII 文字列を shinglesize 語の部品(シングル)に分割し、同じ入力で wordShingleMinHash 関数に基づいて計算された最小および最大ワードハッシュのシングルを返します。
大文字と小文字を区別します。
Syntax
Arguments
string— ハッシュを計算する対象の文字列。Stringshinglesize— オプション。ワードシングルのサイズ、1から25の任意の数。デフォルト値は3です。UInt8hashnum— オプション。結果を計算するために使用される最小および最大ハッシュの数、1から25の任意の数。デフォルト値は6です。UInt8
Returned value
hashnum ワードシングルを含む2つのタプルを返します。 Tuple(Tuple(String))
Examples
Usage example
wordShingleMinHashArgCaseInsensitive
Introduced in: v21.1
ASCII 文字列を shinglesize 語の部品(シングル)に分割し、同じ入力で wordShingleMinHashCaseInsensitive 関数に基づいて計算された最小および最大ワードハッシュのシングルを返します。
大文字と小文字を区別しません。
Syntax
Arguments
string— ハッシュを計算する対象の文字列。Stringshinglesize— オプション。ワードシングルのサイズ、1から25の任意の数。デフォルト値は3です。UInt8hashnum— オプション。結果を計算するために使用される最小および最大ハッシュの数、1から25の任意の数。デフォルト値は6です。UInt8
Returned value
hashnum ワードシングルを含む2つのタプルを返します。 Tuple(Tuple(String))
Examples
Usage example
wordShingleMinHashArgCaseInsensitiveUTF8
Introduced in: v21.1
UTF-8 文字列を shinglesize 語の部品(シングル)に分割し、同じ入力で wordShingleMinHashCaseInsensitiveUTF8 関数に基づいて計算された最小および最大ワードハッシュのシングルを返します。
大文字と小文字を区別しません。
Syntax
Arguments
string— ハッシュを計算する対象の文字列。Stringshinglesize— オプション。ワードシングルのサイズ、1から25の任意の数。デフォルト値は3です。UInt8hashnum— オプション。結果を計算するために使用される最小および最大ハッシュの数、1から25の任意の数。デフォルト値は6です。UInt8
Returned value
hashnum ワードシングルを含む2つのタプルを返します。 Tuple(Tuple(String))
Examples
Usage example
wordShingleMinHashArgUTF8
Introduced in: v21.1
UTF-8 文字列を shinglesize 語の部品(シングル)に分割し、同じ入力で計算された最小および最大ワードハッシュのシングルを返します。これは wordShingleMinHashUTF8 関数に基づいています。
大文字と小文字を区別します。
Syntax
Arguments
string— ハッシュを計算する対象の文字列。Stringshinglesize— オプション。ワードシングルのサイズ、1から25の任意の数。デフォルト値は3です。UInt8hashnum— オプション。結果を計算するために使用される最小および最大ハッシュの数、1から25の任意の数。デフォルト値は6です。UInt8
Returned value
hashnum ワードシングルを含む2つのタプルを返します。 Tuple(Tuple(String))
Examples
Usage example
wordShingleMinHashCaseInsensitive
Introduced in: v21.1
ASCII 文字列を shinglesize 語の部品(シングル)に分割し、各ワードシングルのハッシュ値を計算して、これらのハッシュを含むタプルを返します。
hashnum の最小ハッシュを使用して最小ハッシュを計算し、hashnum の最大ハッシュを使用して最大ハッシュを計算します。
大文字と小文字を区別しません。
tupleHammingDistance を使用して、準複製文字列を検出するために使用できます。
2 つの文字列の場合、返されたハッシュが両方の文字列で同じであれば、それらの文字列は同じです。
Syntax
Arguments
string— ハッシュを計算する対象の文字列。Stringshinglesize— オプション。ワードシングルのサイズ、1から25の任意の数。デフォルト値は3です。UInt8hashnum— オプション。結果を計算するために使用される最小および最大ハッシュの数、1から25の任意の数。デフォルト値は6です。UInt8
Returned value
最小ハッシュと最大ハッシュの2つのハッシュを含むタプルを返します。 Tuple(UInt64, UInt64)
Examples
Usage example
wordShingleMinHashCaseInsensitiveUTF8
Introduced in: v21.1
UTF-8 文字列を shinglesize 語の部品(シングル)に分割し、各ワードシングルのハッシュ値を計算して、これらのハッシュを含むタプルを返します。
hashnum の最小ハッシュを使用して最小ハッシュを計算し、hashnum の最大ハッシュを使用して最大ハッシュを計算します。
大文字と小文字を区別しません。
tupleHammingDistance を使用して、準複製文字列を検出するために使用できます。
2 つの文字列の場合、返されたハッシュが両方の文字列で同じであれば、それらの文字列は同じです。
Syntax
Arguments
string— ハッシュを計算する対象の文字列。Stringshinglesize— オプション。ワードシングルのサイズ、1から25の任意の数。デフォルト値は3です。UInt8hashnum— オプション。結果を計算するために使用される最小および最大ハッシュの数、1から25の任意の数。デフォルト値は6です。UInt8
Returned value
最小ハッシュと最大ハッシュの2つのハッシュを含むタプルを返します。 Tuple(UInt64, UInt64)
Examples
Usage example
wordShingleMinHashUTF8
Introduced in: v21.1
UTF-8 文字列を shinglesize 語の部品(シングル)に分割し、各ワードシングルのハッシュ値を計算して、これらのハッシュを含むタプルを返します。
hashnum の最小ハッシュを使用して最小ハッシュを計算し、hashnum の最大ハッシュを使用して最大ハッシュを計算します。
大文字と小文字を区別します。
tupleHammingDistance を使用して、準複製文字列を検出するために使用できます。
2 つの文字列の場合、返されたハッシュが両方の文字列で同じであれば、それらの文字列は同じです。
Syntax
Arguments
string— ハッシュを計算する対象の文字列。Stringshinglesize— オプション。ワードシングルのサイズ、1から25の任意の数。デフォルト値は3です。UInt8hashnum— オプション。結果を計算するために使用される最小および最大ハッシュの数、1から25の任意の数。デフォルト値は6です。UInt8
Returned value
最小ハッシュと最大ハッシュの2つのハッシュを含むタプルを返します。 Tuple(UInt64, UInt64)
Examples
Usage example
wordShingleSimHash
Introduced in: v21.1
ASCII 文字列を shinglesize 語の部品(シングル)に分割し、ワードシングルの simhash を返します。
大文字と小文字を区別します。
bitHammingDistance を使用して、準複製文字列を検出するために使用できます。
計算された2つの文字列の simhashes の ハミング距離 が小さいほど、これらの文字列は同じである可能性が高くなります。
Syntax
Arguments
Returned value
計算されたハッシュ値を返します。 UInt64
Examples
Usage example
wordShingleSimHashCaseInsensitive
Introduced in: v21.1
ASCII 文字列を shinglesize 語の部品(シングル)に分割し、ワードシングルの simhash を返します。
大文字と小文字を区別しません。
bitHammingDistance を使用して、準複製文字列を検出するために使用できます。
計算された2つの文字列の simhashes の ハミング距離 が小さいほど、これらの文字列は同じである可能性が高くなります。
Syntax
Arguments
Returned value
計算されたハッシュ値を返します。 UInt64
Examples
Usage example
wordShingleSimHashCaseInsensitiveUTF8
Introduced in: v1.1
UTF-8 エンコードされた文字列を shinglesize 語の部品(シングル)に分割し、ワードシングルの simhash を返します。
大文字と小文字を区別しません。
bitHammingDistance を使用して、準複製文字列を検出するために使用できます。
計算された2つの文字列の simhashes の ハミング距離 が小さいほど、これらの文字列は同じである可能性が高くなります。
Syntax
Arguments
Returned value
計算されたハッシュ値を返します。 UInt64
Examples
Usage example
wordShingleSimHashUTF8
Introduced in: v21.1
UTF-8 文字列を shinglesize 語の部品(シングル)に分割し、ワードシングルの simhash を返します。
大文字と小文字を区別します。
bitHammingDistance を使用して、準複製文字列を検出するために使用できます。
計算された2つの文字列の simhashes の ハミング距離 が小さいほど、これらの文字列は同じである可能性が高くなります。
Syntax
Arguments
Returned value
計算されたハッシュ値を返します。 UInt64
Examples
Usage example
wyHash64
Introduced in: v22.7
64 ビット wyHash64 ハッシュ値を計算します。
Syntax
Arguments
arg— ハッシュを計算する対象の文字列。String
Returned value
計算された 64 ビットハッシュ値を返します。 UInt64
Examples
Usage example
xxHash32
Introduced in: v20.1
文字列から xxHash を計算します。
64 ビット版はxxHash64を参照してください。
Syntax
Arguments
arg— ハッシュ化する入力文字列。String
Returned value
入力文字列の計算された 32 ビットハッシュを返します。 UInt32
Examples
Usage example
xxHash64
Introduced in: v20.1
文字列から xxHash を計算します。
32 ビット版はxxHash32を参照してください。
Syntax
Arguments
arg— ハッシュ化する入力文字列。String
Returned value
入力文字列の計算された 64 ビットハッシュを返します。 UInt64
Examples
Usage example
xxh3
Introduced in: v22.12
XXH3 64 ビットハッシュ値を計算します。
Syntax
Arguments
expr— 任意のデータ型の式のリスト。Any
Returned value
計算された 64 ビット xxh3 ハッシュ値を返します。 UInt64
Examples
Usage example