sodium_crypto_box()
(PHP 7 >= 7.2.0)
Encrypt a message
说明
sodium_crypto_box(string $msg,string $nonce,string $key): string
Warning本函数还未编写文档,仅有参数列表。
参数
- $msg
- $nonce
- $key
返回值
Here's a quick example on how to use sodium_crypto_box(); where you have 2 people exchanging a $message, where person 1 encrypts it so that only person 2 can decrypt it, and be sure that person 1 actually sent it (without it being tampered with). <?php $keypair1 = sodium_crypto_box_keypair(); $keypair1_public = sodium_crypto_box_publickey($keypair1); $keypair1_secret = sodium_crypto_box_secretkey($keypair1); $keypair2 = sodium_crypto_box_keypair(); $keypair2_public = sodium_crypto_box_publickey($keypair2); $keypair2_secret = sodium_crypto_box_secretkey($keypair2); //-------------------------------------------------- // Person 1, encrypting $message = 'hello'; $nonce = random_bytes(SODIUM_CRYPTO_BOX_NONCEBYTES); $encryption_key = sodium_crypto_box_keypair_from_secretkey_and_publickey($keypair1_secret, $keypair2_public); $encrypted = sodium_crypto_box($message, $nonce, $encryption_key); echo base64_encode($encrypted) . "\n"; //-------------------------------------------------- // Person 2, decrypting $decryption_key = sodium_crypto_box_keypair_from_secretkey_and_publickey($keypair2_secret, $keypair1_public); $decrypted = sodium_crypto_box_open($encrypted, $nonce, $decryption_key); echo $decrypted . "\n"; ?>