openssl_encrypt în PHP

Ghid complet pentru openssl_encrypt în PHP: criptare simetrică de nivel militar cu AES-256-GCM sau AES-256-CBC, chei secrete și vectori de inițializare (IV).

Sintaxă
openssl_encrypt(string $data, string $cipher_algo, string $passphrase, int $options = 0, string $iv = '', &$tag = null, string $aad = '', int $tag_length = 16): string|false

Ce face openssl_encrypt

Funcția openssl_encrypt criptează date confidențiale (parole de API, date cu caracter personal conform GDPR, fișiere) folosind un algoritm simetric robust precum AES-256-GCM (cu autentificare integrată) sau AES-256-CBC.

Parametri Esențiali

Parametru Tip Descriere
$data string Textul în clar ce urmează a fi criptat.
$cipher_algo string Algoritmul de cifrare (ex: "aes-256-gcm" sau "aes-256-cbc").
$passphrase string Cheia secretă binară (pe 32 de octeți pentru AES-256).
$options int Flag-uri: 0 (returnează text codificat Base64) sau OPENSSL_RAW_DATA.
$iv string Vectorul de inițializare unic generat per fiecare criptare.
&$tag mixed În modurile AEAD (GCM/CCM), este populat prin referință cu eticheta de autentificare (16 octeți).
Exemplu practic: Criptare securizată cu AES-256-GCM (Standardul Industriei)
<?php
$mesajSecret = "CNP: 1850412123456 | Card: 4111-2222-3333-4444";
$cheieSecreta = random_bytes(32); // Cheie pe 256 de biți

$algoritm = "aes-256-gcm";
$lungimeIV = openssl_cipher_iv_length($algoritm); // 12 octeți pentru GCM
$iv = openssl_random_pseudo_bytes($lungimeIV);

$tagAutentificare = "";
$textCriptat = openssl_encrypt(
    $mesajSecret,
    $algoritm,
    $cheieSecreta,
    OPENSSL_RAW_DATA,
    $iv,
    $tagAutentificare
);

// Pentru stocare în baza de date, împachetăm IV-ul, Tag-ul și Textul criptat:
$pachetFinal = base64_encode($iv . $tagAutentificare . $textCriptat);
echo "Pachet criptat stocat: " . $pachetFinal . "\n";
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: openssl_encrypt

Ai o nelămurire despre utilizarea comenzii openssl_encrypt sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.