init()
Overview 概要
Hasher
can be used to map an arbitrary sequence of bytes to an integer hash value. You can feed data to the hasher using a series of calls to mutating combine
methods. When you’ve finished feeding the hasher, the hash value can be retrieved by calling finalize()
:
Hasher
は、随意のバイト列を整数ハッシュ値へとマップするのに使われます。あなたは、データをハーシャーに送り込むのに、一連の変更combine
メソッド呼び出しを使います。あなたがハーシャーに入力を完了する時、ハッシュ値はfinalize()
を呼び出すことで取り出せます:
Within the execution of a Swift program, Hasher
guarantees that finalizing it will always produce the same hash value as long as it is fed the exact same sequence of bytes. However, the underlying hash algorithm is designed to exhibit avalanche effects: slight changes to the seed or the input byte sequence will typically produce drastic changes in the generated hash value.
あるSwiftプログラムの実行の範囲内で、Hasher
は、それをファイナライズすることは常に同じハッシュ値を生成することを、それが正確に同じバイト列を供給される限り保証します。しかしながら、基礎をなすハッシュアルゴリズムは、雪崩効果を示すように設計されます:そのシードまたは入力バイト列に対するわずかな変更は、概して生成されたハッシュ値に徹底的な変化を生じさせます。
Note 注意
Do not save or otherwise reuse hash values across executions of your program. Hasher
is usually randomly seeded, which means it will return different values on every new execution of your program. The hash algorithm implemented by Hasher
may itself change between any two versions of the standard library.
あなたのプログラムの実行それらにまたがってハッシュ値を保存または別なふうに再利用しないでください。Hasher
は、ふつうは無作為にシードを決められます、それはあなたのプログラムの新規の実行ごとに異なる値が返されることを意味します。Hasher
によって実装されるハッシュアルゴリズムは、標準ライブラリの任意の2つのバージョン間でそれ自体が変化するかもしれません。