array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.sodium-crypto-box-seal-open.php', 1 => 'sodium_crypto_box_seal_open', ), 'up' => array ( 0 => 'ref.sodium.php', 1 => 'Функции Sodium', ), 'prev' => array ( 0 => 'function.sodium-crypto-box-publickey.php', 1 => 'sodium_crypto_box_publickey', ), 'next' => array ( 0 => 'function.sodium-crypto-box-seal.php', 1 => 'sodium_crypto_box_seal', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/sodium/functions/sodium-crypto-box-seal-open.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_box_seal_open — Расшифровка открытым ключом без проверки подлинности
Расшифровывает сообщение, зашифрованное с помощью sodium_crypto_box_seal().
ciphertext
Зашифрованное сообщение
key_pair
Ключевая пара получателя. Должна включать секретный ключ.
Текст в случае успешного выполнения или false
, если возникла ошибка.
Пример #1 Пример использования sodium_crypto_box_seal_open()
<?php
// Шифрованный текст нечувствителен; base64_decode в порядке
$sealed_b64 = "oRBXXAV4iQBrxlV4A21Bord8Yo/D8ZlrIIGNyaRCcGBfpz0map52I3xq6l+CST+1NSgQkbV+HiYyFjXWiWiaCGupGf+zl4bgWj/A9Adtem7Jt3h3emrMsLw=";
$sealed = base64_decode($sealed_b64);
// Ключевая пара содержит криптографический секрет; использовать безопасный по времени декодер
$keypair_b64 = "KZkF8wnB7bnC2aXB3lFOqCTc0Z6MllvaQb9ASVG8o2/MsewkuE4u1uaEgTzSakeiYyIW8DGj+02/L3cWIbs9bQ==";
$keypair = sodium_base642bin($keypair_b64, SODIUM_BASE64_VARIANT_ORIGINAL);
$opened = sodium_crypto_box_seal_open($sealed, $keypair);
var_dump($opened);
?>
Вывод приведённого примера будет похож на:
string(41) "Writing software in PHP can be a delight!"