M-am decis să postez resurse necesare dezvoltării web pe blog pentru a le găsi mai ușor atunci când am nevoie de ele.

Pentru cazurile în care vreți să transmiteți date sensibile prin diverse metode, pot fi utile funcțiile de criptare și decriptare.

Iată un exemplu probat:

define("encryption_method", "AES-128-CBC");
define("key", "alabala_portocala");
function encrypt($data) {
    $key = key;
    $plaintext = $data;
    $ivlen = openssl_cipher_iv_length($cipher = encryption_method);
    $iv = openssl_random_pseudo_bytes($ivlen);
    $ciphertext_raw = openssl_encrypt($plaintext, $cipher, $key, $options = OPENSSL_RAW_DATA, $iv);
    $hmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary = true);
    $ciphertext = base64_encode($iv . $hmac . $ciphertext_raw);
    return $ciphertext;
}
function decrypt($data) {
    $key = key;
    $c = base64_decode($data);
    $ivlen = openssl_cipher_iv_length($cipher = encryption_method);
    $iv = substr($c, 0, $ivlen);
    $hmac = substr($c, $ivlen, $sha2len = 32);
    $ciphertext_raw = substr($c, $ivlen + $sha2len);
    $original_plaintext = openssl_decrypt($ciphertext_raw, $cipher, $key, $options = OPENSSL_RAW_DATA, $iv);
    $calcmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary = true);
    if (hash_equals($hmac, $calcmac))
    {
        return $original_plaintext;
    }
	else  {
		return "Ceva nu a mers cum trebuie";
	}
}

Găsiți mai multe detalii despre criptarea și decriptarea datelor aici: php.net

Dacă ți-a fost pe plac articolul, nu uita să folosești butoanele de mai jos pentru a-l distribui!

Twitter  Facebook  WhatsApp  LinkedIn  

Poți publica un advertorial pe blog

Află tot ceea ce trebuie să știi despre Advertorialele SEO

Publică un advertorial

Lasă un răspuns

Acest articol are un comentariu