sodium_crypto_box
(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_box β Π¨ΠΈΡΡΡΠ²Π°Π½Π½Ρ Π²ΡΠ΄ΠΊΡΠΈΡΠΈΠΌ ΠΊΠ»ΡΡΠ΅ΠΌ ΡΠ· Π°Π²ΡΠ΅Π½ΡΠΈΡΡΠΊΠ°ΡΡΡΡ
ΠΠΏΠΈΡ
sodium_crypto_box(string $message, string $nonce, string $key_pair): string
Π¨ΠΈΡΡΡΡ ΠΏΠΎΠ²ΡΠ΄ΠΎΠΌΠ»Π΅Π½Π½Ρ ΡΠ· Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½ΡΠΌ Π°ΡΠΈΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΡ (Π· Π²ΡΠ΄ΠΊΡΠΈΡΠΈΠΌ ΠΊΠ»ΡΡΠ΅ΠΌ).
ΠΠ»Π³ΠΎΡΠΈΡΠΌ, ΡΠΎ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡΡΡ ΡΡΠ½ΠΊΡΡΡΠΌΠΈ Π· ΠΏΡΠ΅ΡΡΠΊΡΠΎΠΌ sodium_crypto_box(): ΠΠ»ΡΠΏΡΠΈΡΠ½Π° ΠΊΡΠΈΠ²Π° ΠΡΡΡΡ-Π₯Π΅Π»Π»ΠΌΠ°Π½Π° Π½Π° ΠΊΡΠΈΠ²ΡΠΉ ΠΠΎΠ½ΡΠ³ΠΎΠΌΠ΅ΡΡ, Curve25519; Π·Π°Π·Π²ΠΈΡΠ°ΠΉ ΡΠΊΠΎΡΠΎΡΠ΅Π½ΠΎ X25519.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ²
message
ΠΠΎΠ²ΡΠ΄ΠΎΠΌΠ»Π΅Π½Π½Ρ, ΡΠΊΠ΅ ΠΏΠΎΡΡΡΠ±Π½ΠΎ Π·Π°ΡΠΈΡΡΡΠ²Π°ΡΠΈ.
nonce
ΠΠΎΠΌΠ΅Ρ, ΡΠΊΠΈΠΉ ΠΏΠΎΡΡΡΠ±Π½ΠΎ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ Π»ΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π΄Π»Ρ ΠΊΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠ΄ΠΎΠΌΠ»Π΅Π½Π½Ρ. ΠΠΎΠ²ΠΆΠΈΠ½Π° 24 Π±Π°ΠΉΡΠΈ. Π¦Π΅ Π΄ΠΎΡΠΈΡΡ Π²Π΅Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ° Π΄Π»Ρ Π²ΠΈΠΏΠ°Π΄ΠΊΠΎΠ²ΠΎΡ Π³Π΅Π½Π΅ΡΠ°ΡΡΡ (Π½Π°ΠΏΡΠΈΠΊΠ»Π°Π΄, random_bytes()
key_pair
Π‘ΠΌΠΎΡΡΠΈΡΠ΅sodium_crypto_box_keypair_from_secretkey_and_publickey(). ΠΠΎΠ²ΠΈΠ½Π΅Π½ Π²ΠΊΠ»ΡΡΠ°ΡΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ X25519 Π²ΡΠ΄ΠΏΡΠ°Π²Π½ΠΈΠΊΠ° ΡΠ° Π²ΡΠ΄ΠΊΡΠΈΡΠΈΠΉ ΠΊΠ»ΡΡ X25519 ΠΎΠ΄Π΅ΡΠΆΡΠ²Π°ΡΠ°.
ΠΠ½Π°ΡΠ΅Π½Π½Ρ, ΡΠΎ ΠΏΠΎΠ²Π΅ΡΡΠ°ΡΡΡΡΡ
ΠΠΎΠ²Π΅ΡΡΠ°Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ ΠΏΠΎΠ²ΡΠ΄ΠΎΠΌΠ»Π΅Π½Π½Ρ (Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠΉ ΡΠ΅ΠΊΡΡ ΠΏΠ»ΡΡ ΡΠ΅Π³ Π°ΡΡΠ΅Π½ΡΠΈΡΡΠΊΠ°ΡΡΡ). ΠΠ°ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠΉ ΡΠ΅ΠΊΡΡ Π±ΡΠ΄Π΅ Π½Π° 16 Π±Π°ΠΉΡΡΠ² Π΄ΠΎΠ²ΡΠ΅, Π½ΡΠΆ Π²ΡΠ΄ΠΊΡΠΈΡΠΈΠΉ ΡΠ΅ΠΊΡΡ, ΡΠ° Π½Π΅ΠΎΠ±ΡΠΎΠ±Π»Π΅Π½ΠΈΠΉ Π΄Π²ΡΠΉΠΊΠΎΠ²ΠΈΠΉ ΡΡΠ΄ΠΎΠΊ. ΠΠΈΠ²ΡΡΡΡΡ sodium_bin2base64() Π΄Π»Ρ Π±Π΅Π·ΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΡΠ²Π°Π½Π½Ρ Π΄Π»Ρ Π·Π±Π΅ΡΡΠ³Π°Π½Π½Ρ.