openssl open()
openssl_open
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
openssl_open — Öppnar förseglad data
Beskrivning
openssl_open( string '''$data''', #[\SensitiveParameter] string &'''$output''', string '''$encrypted_key''', #[\SensitiveParameter] OpenSSLAsymmetricKey|OpenSSLCertificate|array|string '''$private_key''', string '''$cipher_algo''', ?string '''$iv''' = null ): bool
Funktionen openssl_open()
öppnar (dekrypterar) data med en omslagsnyckel som dekrypteras från $encrypted_key med hjälp av $private_key. Dekrypteringen görs med hjälp av $cipher_algo och $iv. Om krypteringsmetoden kräver en IV används den här parametern. Funktionen fyller $output med den dekrypterade datan. Omslagsnyckeln skapas vanligtvis när datan förseglas med en publik nyckel som är kopplad till den privata nyckeln. Se openssl_seal() för mer information.
Parametrar
- data — Den förseglade datan.
- output — Om anropet lyckas returneras den öppnade datan i denna parameter.
- encrypted_key — Den krypterade symmetriska nyckeln som kan dekrypteras med hjälp av $private_key.
- private_key — Den privata nyckeln som används för att dekryptera $encrypted_key.
- cipher_algo — Krypteringsmetoden som används för dekryptering av data.
- iv — Initieringsvektorn som används för dekryptering av data. Krävs om krypteringsmetoden kräver IV. Detta kan kontrolleras genom att anropa
openssl_cipher_iv_length()
med $cipher_algo.
Returnerar
Returnerar true
vid framgång eller false
vid fel.
Ändringslogg
Version | Beskrivning |
---|---|
8.0.0 | private_key accepterar nu en OpenSSLAsymmetricKey eller OpenSSLCertificate-instans; tidigare accepterades en resurs av typen OpenSSL-nyckel eller OpenSSL X.509 CSR. |
8.0.0 | cipher_algo är inte längre en valfri parameter. |
Exempel
Exempel #1 openssl_open()-exempel
<?php // $sealed, $env_key och $iv antas innehålla den förseglade datan, omslagsnyckeln och IV. Allt ges till oss av den som förseglat datan. // Hämta privat nyckel från filen private_key.pem $pkey = openssl_get_privatekey("file://private_key.pem"); // Dekryptera datan och lagra det i $open if (openssl_open($sealed, $open, $env_key, $pkey, 'AES256', $iv)) { echo "Här är den öppnade datan: ", $open; } else { echo "Misslyckades att öppna data"; } ?>
Se även
- openssl_seal() - Förseglar (krypterar) data
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.mhash-keygen-s2k.php PHP Funktioner Funktionsreferens OpenSSL-funktioner
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.