openssl open(): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '== openssl_open == '''(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)''' === openssl_open — Öppnar förseglad data === ==== Beskrivning ==== <pre> openssl_open( string '''$data''', #[\SensitiveParameter] string &'''$output''', string '''$encrypted_key''', #[\SensitiveParameter] OpenSSLAsymmetricKey|OpenSSLCertificate|array|string '''$private_key''', string '''$cipher_algo''', ?string '''$iv''' = null ): bool </pre> Funktionen <code>openssl_open()</code...') |
(Ingen skillnad)
|
Nuvarande version från 31 oktober 2024 kl. 17.25
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.