文書   >   Swift   >   Swift 標準ライブラリ   >   Basic Behaviors   >   Hasher
構造体
Hasher
Set と Dictionary で使用される汎用ハッシュ関数。
宣言
概観
Hasher は、任意のバイトシーケンスを整数ハッシュ値にマッピングするために使用できます。combine メソッドを変更するための一連の呼び出しを使用して、データをハッシャーに送ることができます。ハッシャーへの入力が終わったら、finalize() を呼び出してハッシュ値を取得することができます。
var hasher = Hasher() hasher.combine(23) hasher.combine("Hello") let hashValue = hasher.finalize()
Swift プログラムの実行中、Hasher は、完璧に同じバイトシーケンスが与えられている限り、常に同じハッシュ値を生成することが保証されます。ただし、基本的なハッシュアルゴリズムは、アバランシェ (なだれ) 効果を発揮するように設計されています。シードや入力バイトシーケンスをわずかに変更すると、通常、生成されるハッシュ値に大幅な変更が生じます。
あなたのプログラムの実行中にハッシュ値を保存したりまたは再利用しないでください。Hasher は通常ランダムに種をまかれます。つまり、あなたのプログラムの新しい実行ごとに異なる値を返します。Hasher によって実装されたハッシュアルゴリズムは、標準ライブラリの任意の 2 つのバージョン間で変更される可能性があります。
トピックス
Hasher の作成
新しい hasher を作成します。
値の追加
与えられた値をこのハッシャーに追加し、必須の部分をハッシャー状態にミックスします。
func combine(bytes: UnsafeRawBufferPointer)
与えられたバッファの内容をこのハッシャーに追加し、ハッシャー状態にミックスします。
Hasher を仕上げる
ハッシャーの状態を仕上げ、ハッシュ値を返します。
以下も見よ
Set と Dictionary
整数ハッシュ値を生成するために Hasher にハッシュできる型。