(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_secretstream_xchacha20poly1305_push — ストリーミングAPI で安全に復号できるように、データのチャンクを暗号化する
&$state
,$message
,$additional_data
= "",$tag
= SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
ストリーミングAPIで安全に復号できるように、 データのチャンクを暗号化します。
state
sodium_crypto_secretstream_xchacha20poly1305_init_pull() と sodium_crypto_secretstream_xchacha20poly1305_init_push() を参照して下さい。
message
additional_data
tag
オプション。 復号の振る舞いを指示するために使えます。 (たとえば、鍵の再生成や、ストリームの最後のチャンクを示すなど)
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
:
もっとも一般的なタグ。
メッセージの性質についての情報を全く追加しません。
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL
:
メッセージがストリームの終端であるとマークされており、
これより前のシーケンスで使われていた暗号化の鍵が削除されています。
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH
:
このメッセージが、メッセージの集合の終端としてマークされていますが、
ストリームの終端ではありません。
たとえば、複数のチャンクとして送信された巨大なJSON文字列は、
アプリケーションに文字列の終端を示し、
デコードできると指示することができます。
しかし、ストリームそのものは閉じられておらず、
さらにデータが続く可能性があります。
SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY
:
このメッセージを暗号化するために、
これまでに使われてきた鍵を"忘れ"ます。
そして、新しい秘密鍵を生成します。
暗号化されたテキストを返します。