mcrypt启用 加密以及解密过程详细解析_PHP
Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
1.PHP加密扩展库Mcrypt安装
在标准的PHP安装过程中并没有把Mrcypt安装上,但PHP的主目录下包含了libmcrypt.dll和libmhash.dll文件 (libmhash.dll是Mhash扩展库,这里可以一起装上)。首先,将这两个文件复制到系统目录windows\system32下,然后在 PHP.ini文件中按Ctrl+F快捷键跳出查找框,并找到;extension=php-mcrypt.dll和; extension=php_mhash.dll这两个语句,接着将前面的“;”去掉;最后,保存并重启Apache服务器即可生效。
2.PHP加密扩展库Mcrypt的算法和加密模式
Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示,结果如下:
Mcrypt支持的算法有:cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Mcrypt支持的加密模式有:cbc cfb ctr ecb ncfb nofb ofb stream
这些算法和模式在应用中要以常量来表示,写的时候加上前缀MCRYPT_和MCRYPT_来表示,如下面Mcrypt应用的例子:
DES算法表示为MCRYPT_DES;
ECB模式表示为MCRYPT_MODE_ECB;
3.PHP加密扩展库Mcrypt应用
先看一个例子,了解Mcrypt的工作流程,再来看看部分流程使用的函数:
复制代码 代码如下:
$str = "我是李云";
$key = "123qwe.019860905061X";
$cipher = MCRYPT_RIJNDAEL_128;
$mode = MCRYPT_MODE_ECB;
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$mode),MCRYPT_RAND);
echo "原文:".$str."
";
$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$mode,$iv);
echo "加密后的内容是:".$str_encrypt."
";
$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$mode,$iv);
echo "解密后的内容:".$str_decrypt."
";
运行结果:
原文:我是李云
加密后的内容是:B@鴹�=(I辩蝣Z%
解密后的内容:我是李云
由例子中可看到,使用PHP加密扩展库Mcrypt对数据加密和解密之前,首先创建了一个初始化向量,简称为iv。由 $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);可见创建初始化 向 量需要两个参数:size指定了iv的大小;source为iv的源,其中值MCRYPT_RAND为系统随机数。
函数mcrypt_get_iv_size($cipher,$modes)返回初始化向量大小,参数cipher和mode分别指算法和加 密模式。
加密函数$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); 该函数的5个参数分 别如下:cipher——加密算法、key——密钥、data(str)——需要加密的数据、mode——算法模式、 iv——初始化向量
解密函数 mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); 该函数和加密函数的参数几乎 一样,唯一不同的是data,也就是说data为需要解密的数据$str_encrypt,而不是原始数据$str。
//手册里的写法:
复制代码 代码如下:
//指定初始化向量iv的大小:
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
//创建初始化向量:
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
//加密密码:
$key = "123qwe.019860905061x";
//原始内容(未加密):
$text = "My name is Adam Li!";
echo $text. "
\n";
//加密后的内容:
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo $crypttext. "\n
";
//解密已经加密的内容:
$str_decrypt = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv);
echo $str_decrypt;
下面是一个加/解密请求的例子:
复制代码 代码如下:
$request_params = array(
'controller' => 'todo',
'action' => 'read',
'username' => "bl",
'userpass' => "a1"
);
$private_key = "28e336ac6c9423d946ba02d19c6a2632";
//encrypt request
$enc_request = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $private_key, json_encode($request_params), MCRYPT_MODE_ECB));
echo "CRYPT:".$enc_request."
";
//decrypt request
$params = json_decode(trim(mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $private_key, base64_decode($enc_request), MCRYPT_MODE_ECB )),true);
echo "ENCRYPT:
";
//print result
var_dump($params);
注:加密和解密函数中的参数cipher、key和mode必须一一对应,否则数据不能被还原。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Menyahsulit kod status HTTP 460: Mengapakah ralat ini berlaku? Pengenalan: Dalam penggunaan rangkaian harian, kami sering menghadapi pelbagai gesaan ralat, termasuk kod status HTTP. Kod status ini ialah mekanisme yang ditakrifkan oleh protokol HTTP untuk menunjukkan pemprosesan permintaan. Di antara kod status ini, terdapat kod ralat yang agak jarang berlaku, iaitu 460. Artikel ini akan menyelidiki kod ralat ini dan menerangkan sebab ralat ini berlaku. Definisi kod status HTTP 460: Pertama, kita perlu memahami asas kod status HTTP

Dalam telefon bimbit Apple, pengguna boleh menyulitkan album foto mengikut keperluan mereka sendiri. Sesetengah pengguna tidak tahu cara menyediakannya. Anda boleh menambah gambar yang perlu disulitkan ke memo, dan kemudian mengunci memo Seterusnya, editor akan memperkenalkan kaedah menyediakan penyulitan album foto mudah alih untuk pengguna yang berminat, datang dan lihat. Tutorial telefon bimbit Apple Bagaimana untuk menyediakan penyulitan album foto pada telefon bimbit Apple Jawapan: Selepas menambah gambar yang perlu disulitkan pada memo, pergi ke kunci memo untuk pengenalan terperinci: 1. Masukkan album foto, pilih gambar yang perlu disulitkan, dan kemudian klik [Tambah ke] di bawah. 2. Pilih [Tambah pada Nota]. 3. Masukkan memo, cari memo yang baru anda buat, masukkannya dan klik ikon [Hantar] di penjuru kanan sebelah atas. 4. Klik [Kunci Peranti] di bawah

Penyulitan folder ialah kaedah perlindungan data biasa yang menyulitkan kandungan folder supaya hanya mereka yang mempunyai kata laluan penyahsulitan boleh mengakses fail. Apabila menyulitkan folder, terdapat beberapa cara biasa untuk menetapkan kata laluan tanpa memampatkan fail. Pertama, kita boleh menggunakan fungsi penyulitan yang disertakan dengan sistem pengendalian untuk menetapkan kata laluan folder. Untuk pengguna Windows, anda boleh menyediakannya dengan mengikuti langkah berikut: Pilih folder untuk disulitkan, klik kanan folder dan pilih "Properties"

Dalam persekitaran kerja hari ini, kesedaran semua orang tentang kerahsiaan semakin kukuh dan kukuh, dan operasi penyulitan sering dilakukan untuk melindungi fail apabila menggunakan perisian. Khususnya untuk dokumen penting, kesedaran tentang kerahsiaan harus ditingkatkan, dan keselamatan dokumen harus diberi keutamaan pada setiap masa. Jadi saya tidak tahu sejauh mana semua orang memahami penyahsulitan perkataan Bagaimana untuk mengendalikannya secara khusus? Hari ini kami sebenarnya akan menunjukkan kepada anda proses penyahsulitan perkataan melalui penjelasan berikut Rakan-rakan yang perlu mempelajari ilmu penyahsulitan perkataan tidak boleh ketinggalan kursus hari ini. Operasi penyahsulitan pertama sekali diperlukan untuk melindungi fail, yang bermaksud bahawa fail dilindungi sebagai dokumen. Selepas melakukan ini pada fail, gesaan muncul apabila anda membuka fail itu semula. Cara untuk menyahsulit fail adalah dengan memasukkan kata laluan, jadi anda boleh terus

Editor akan memperkenalkan kepada anda tiga kaedah penyulitan dan pemampatan: Kaedah 1: Penyulitan Kaedah penyulitan paling mudah ialah memasukkan kata laluan yang anda ingin tetapkan semasa menyulitkan fail, dan penyulitan dan pemampatan selesai. Kaedah 2: Penyulitan automatik Kaedah penyulitan biasa memerlukan kami memasukkan kata laluan semasa menyulitkan setiap fail Jika anda ingin menyulitkan sejumlah besar pakej termampat dan kata laluan adalah sama, maka kami boleh menetapkan penyulitan automatik dalam WinRAR, dan kemudian hanya Apabila. memampatkan fail seperti biasa, WinRAR akan menambah kata laluan pada setiap pakej yang dimampatkan. Kaedahnya adalah seperti berikut: Buka WinRAR, klik Options-Settings dalam antara muka tetapan, tukar ke [Compression], klik Create Default Configuration-Set Password Masukkan kata laluan yang ingin kita tetapkan di sini, klik OK untuk melengkapkan tetapan, kita hanya perlu untuk memperbetulkan

Menyahsulit helah yang ditambahkan oleh penterjemah PyCharm PyCharm ialah persekitaran pembangunan bersepadu (IDE) yang digemari oleh ramai pembangun Python, dan ia menyediakan banyak ciri berkuasa untuk meningkatkan kecekapan pembangunan. Antaranya, tetapan penterjemah adalah bahagian penting PyCharm Menetapkan penterjemah dengan betul boleh membantu pembangun menjalankan kod dengan lancar dan menyahpepijat program. Artikel ini akan memperkenalkan beberapa teknik untuk menyahsulit penambahan penterjemah PyCharm dan menggabungkannya dengan contoh kod khusus untuk menunjukkan cara mengkonfigurasi penterjemah dengan betul. Menambah dan memilih jurubahasa dalam Py

Cara menyahsulitkan video pada EZVIZ Cloud: Terdapat banyak cara untuk menyahsulitkan video pada EZVIZ Cloud, salah satunya adalah dengan menggunakan EZVIZ Cloud Mobile App. Pengguna hanya perlu memasukkan senarai peranti, pilih kamera untuk dinyahsulit dan masukkan halaman butiran peranti. Pada halaman butiran peranti, cari pilihan "Tetapan", kemudian pilih "Penyulitan Video" untuk membuat tetapan yang berkaitan. Dalam antara muka tetapan penyulitan video, anda boleh memilih pilihan untuk mematikan penyulitan video dan menyimpan tetapan untuk menyelesaikan operasi penyahsulitan. Langkah mudah ini membolehkan pengguna menyahsulit video dengan mudah dan meningkatkan kemudahan menggunakan kamera. Jika anda menggunakan klien komputer EZVIZ Cloud, anda juga boleh membatalkan penyulitan video melalui langkah yang serupa. Hanya log masuk dan pilih kamera yang sepadan, masukkan antara muka butiran peranti, dan kemudian cari penambahan video dalam tetapan.

Pengarang asal: Meteor, ChainCatcher Editor asal: Marco, ChainCatcher Baru-baru ini, protokol kebolehoperasian rantai penuh Analog telah menjadi perhatian umum dengan pendedahan sebanyak AS$16 juta dalam pembiayaan institusi termasuk TribeCapital, NGCVentures, Wintermute, GSR, NEAR, OrangeDAO. , dan syarikat pengurusan aset Alternatif Mike Novogratz Samara Asset Group, Balaji Srinivasan, dsb. Pada penghujung tahun 2023, Analog menimbulkan keterujaan dalam industri Mereka mengeluarkan maklumat tentang acara pendaftaran testnet terbuka pada platform X.
