openssl get cipher methods()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

openssl_get_cipher_methods

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_get_cipher_methods — Hämtar tillgängliga krypteringsmetoder

Beskrivning

openssl_get_cipher_methods(bool $aliases = false): array

Hämtar en lista över tillgängliga krypteringsmetoder.

Parametrar

aliases Sätts till true om alias för krypteringsmetoder ska inkluderas i den returnerade arrayen.

Returvärden

Returnerar en array med de tillgängliga krypteringsmetoderna. Observera att före OpenSSL 1.1.1 returnerades krypteringsmetoderna i både stora och små bokstäver; från och med OpenSSL 1.1.1 returneras endast varianterna med små bokstäver.

Exempel

Exempel #1 openssl_get_cipher_methods()-exempel

Visar hur de tillgängliga krypteringarna kan se ut, samt vilka alias som kan finnas tillgängliga.

<?php
$ciphers             = openssl_get_cipher_methods();
$ciphers_and_aliases = openssl_get_cipher_methods(true);
$cipher_aliases      = array_diff($ciphers_and_aliases, $ciphers);

// ECB-läge bör undvikas
$ciphers = array_filter($ciphers, function($n) { return stripos($n, "ecb") === FALSE; });

// Sedan åtminstone augusti 2016 har Openssl förklarat följande svaga: RC2, RC4, DES, 3DES, MD5-baserade
$ciphers = array_filter($ciphers, function($c) { return stripos($c, "des") === FALSE; });
$ciphers = array_filter($ciphers, function($c) { return stripos($c, "rc2") === FALSE; });
$ciphers = array_filter($ciphers, function($c) { return stripos($c, "rc4") === FALSE; });
$ciphers = array_filter($ciphers, function($c) { return stripos($c, "md5") === FALSE; });
$cipher_aliases = array_filter($cipher_aliases, function($c) { return stripos($c, "des") === FALSE; });
$cipher_aliases = array_filter($cipher_aliases, function($c) { return stripos($c, "rc2") === FALSE; });

print_r($ciphers);
print_r($cipher_aliases);
?>

Utdata från exemplet ovan kommer att se ut ungefär så här:

Array
(
    [0] => aes-128-cbc
    [1] => aes-128-cbc-hmac-sha1
    [2] => aes-128-cbc-hmac-sha256
    [3] => aes-128-ccm
    [4] => aes-128-cfb
    ...
    [63] => bf-cbc
    [64] => bf-cfb
    [66] => bf-ofb
    ...
    [141] => sm4-cbc
    [142] => sm4-cfb
    [143] => sm4-ctr
    [145] => sm4-ofb
)
Array
(
    [36] => aes128
    [37] => aes128-wrap
    [38] => aes192
    ...
    [169] => sm4
)

Se även

Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.openssl-get-cipher-methods.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.