Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melaksanakan penyulitan aes dalam php

Bagaimana untuk melaksanakan penyulitan aes dalam php

WBOY
Lepaskan: 2023-03-15 16:06:02
asal
34004 orang telah melayarinya

Dalam PHP, anda boleh menggunakan fungsi "openssl_encrypt()" untuk melaksanakan penyulitan aes Anda hanya perlu menetapkan kaedah penyulitan dalam parameter kepada "AES-128-ECB". teks biasa yang disulitkan, 'AES-128-ECB', kunci penyulitan, format data)".

Bagaimana untuk melaksanakan penyulitan aes dalam php

Persekitaran pengendalian artikel ini: sistem Windows 10, PHP versi 7.1, komputer Dell G3.

Cara melaksanakan penyulitan aes dalam php

Dalam php kami menggunakan openssl_encrypt untuk melaksanakan penyulitan dan openssl_decrypt untuk melaksanakan penyahsulitan

1: Penjelasan terperinci kaedah openssl_encrypt:

openssl_encrypt($data, $method, $key, $options = 0, $iv = "", &$tag = NULL, $aad = "", $tag_length = 16)
Salin selepas log masuk
Parameter:

1.$data: Teks biasa disulitkan

2.$kaedah: Kaedah penyulitan: Apakah kaedah penyulitan yang boleh diperolehi melalui openssl_get_cipher_methods( )

3.$passwd: kunci penyulitan [kata laluan]

4.$options: pilihan format data (pilihan) [pilihan ialah:]: 0, OPENSSL_RAW_DATA=1, OPENSSL_ZERO_PADDING=2, OPENSSL_NO_PADDING= 3

5.$iv: Vektor permulaan rahsia (pilihan), sila ambil perhatian: jika kaedah DES-ECB, iv tidak perlu diisi

6.$tag : Gunakan mod kata laluan AEAD ( GCM atau CCM) apabila menghantar teg pengesahan yang dirujuk (pilihan)

7.$aad: data pengesahan tambahan. (Pilihan)

8.$tag_length: Sahkan panjang teg. Dalam mod GCM, julatnya ialah 4 hingga 16 (pilihan)

2: Penjelasan terperinci kaedah openssl_decrypt

openssl_decrypt($data, $method, $password, $options = 1, $iv = "", $tag = "",  $aad = "")
Salin selepas log masuk
Parameter:

1 .$data: Mesej yang disulitkan untuk dinyahsulit.

2.$kaedah: Kaedah penyahsulitan: Apakah kaedah penyahsulitan yang boleh diperolehi melalui openssl_get_cipher_methods()

3.$passwd: Kunci penyahsulitan [kata laluan]

4.$ pilihan : Pilihan format data (pilihan) [pilihan ialah:] 0, OPENSSL_RAW_DATA=1, OPENSSL_ZERO_PADDING=2, OPENSSL_NO_PADDING=3

5.$iv: Vektor permulaan rahsia (pilihan), sila ambil perhatian: Jika kaedah ialah DES−ECB, maka iv tidak perlu diisi.

6.$tag: Teg pengesahan dalam mod kata laluan AEAD (pilihan)

7.$aad: Data pengesahan tambahan. (Pilihan)

Tiga: Laksanakan penyulitan dan penyahsulitan AES

1: Penyulitan AES

// 要加密的字符串
$data = 'test';
// 密钥
$key = '123456';
// 加密数据 'AES-128-ECB' 可以通过openssl_get_cipher_methods()获取
$encrypt = openssl_encrypt($data, 'AES-128-ECB', $key, 0);
echo (($encrypt));
Salin selepas log masuk
2: Penyahsulitan AES

//解密字符串
$encrypt = '***';
//密钥
$key = '123456';
// 解密数据
$decrypt = openssl_decrypt($encrypt, 'AES-128-ECB', $key, 0);
echo $decrypt;
Salin selepas log masuk
Mengikut perkara di atas, anda boleh merealisasikan fungsi penyulitan dan penyahsulitan AES

Pembelajaran yang disyorkan: "

Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penyulitan aes dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan