Strona główna >PHP >Leksykon PHP – funkcje >openssl_get_cipher_methods

openssl_get_cipher_methods

openssl_get_cipher_methods($aliases = false)

Zwraca tablicę z nazwami szyfrów, które biblioteka OpenSSL obsługuje na serwerze (aes-256-gcm, chacha20-poly1305…). Przydaje się do sprawdzenia, czy szyfr potrzebny w kodzie jest dostępny.

Parametry

  • $aliases – true = łącznie z innymi nazwami tego samego szyfru (wielkimi literami itd.).

Przykłady

$ciphers = openssl_get_cipher_methods();
var_dump(in_array("aes-256-gcm", $ciphers, true)); // bool(true)
var_dump(in_array("chacha20-poly1305", $ciphers, true)); // bool(true)
echo OPENSSL_VERSION_NUMBER >= 0x30000000 ? "OpenSSL 3" : "OpenSSL 1.1";

Na co uważać

  • OpenSSL 3 domyślnie nie ma starych szyfrów (Blowfish bf-cbc, DES, RC4) – kod, który ich używał, po aktualizacji serwera przestanie odszyfrowywać. Przenieś dane na AES, póki stary serwer jeszcze działa.
  • Lista zależy od wersji OpenSSL na serwerze – wynik na komputerze lokalnym i na hostingu nie musi być taki sam.

Powiązane funkcje:
openssl_encrypt()
openssl_cipher_iv_length()
in_array()