hash_init
段階的なハッシュコンテキストを初期化する
&reftitle.description;
HashContexthash_init
stringalgo
intflags0
#[\SensitiveParameter]stringkey""
arrayoptions[]
&reftitle.parameters;
algo
選択したアルゴリズムの名前 (例: "sha256")。
サポートされているアルゴリズムの一覧については、hash_algos を参照ください。
HASH_HMAC フラグが指定されている場合、
暗号に適さないハッシュ関数は許可されません。
flags
ハッシュ生成の際に使用するオプションで、現在は、ただひとつ
HASH_HMAC のみをサポートしています。これが
指定された場合、key を
必ず指定しなければなりません。
key
flags に HASH_HMAC
が指定された場合に、HMAC 形式のハッシュで使用される共有の秘密鍵を
設定する必要があります。
options
様々なハッシュアルゴリズム向けの、オプションの配列。
現状は、MurmurHash バリアントが "seed"
だけをサポートしています。
&reftitle.returnvalues;
hash_update、
hash_update_stream、hash_update_file
および hash_final で使用するハッシュコンテキストを
返します。
&reftitle.errors;
algo が不明な場合や、
暗号に適さないハッシュ関数の場合、
または key が空の場合に
ValueError がスローされます。
options に渡す設定値に型の誤りがあった場合
E_DEPRECATED が発生するようになりました。
予期しない解釈が行われる可能性があるためです。
これは将来 ValueError になる予定です。
&reftitle.changelog;
&Version;
&Description;
8.4.0
誤った型のオプションを渡すことは非推奨となりました。
8.1.0
options パラメータが追加されました。
8.0.0
algo が不明な場合や、
暗号に適さないハッシュ関数の場合、
または key が空の場合に
ValueError がスローされるようになりました。
これより前のバージョンでは、&false; を返し、
E_WARNING が発生していました。
7.2.0
暗号に適さないハッシュ関数 (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) は使えなくなりました。
7.2.0
リソースの代わりに HashContext を返すようになりました。
&reftitle.examples;
段階的なハッシュの例
]]>
&example.outputs;
&reftitle.seealso;
hash_algos
hash_update
hash_update_file
hash_update_stream
hash_final