Rumah pembangunan bahagian belakang tutorial php mcrypt启用 加密以及解密过程详细解析_PHP教程

mcrypt启用 加密以及解密过程详细解析_PHP教程

Jul 21, 2016 pm 02:59 PM
mcrypt Fungsi penyulitan Penyulitan dan penyahsulitan boleh membolehkan capai Perpustakaan Kembangkan mampu Nyahsulit menghuraikan terperinci proses

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必须一一对应,否则数据不能被还原。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/328142.htmlTechArticleMcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。 1.PHP加密扩展库Mcrypt安装 在标准的PHP安装过程中并没有把Mr...
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1663
14
Tutorial PHP
1266
29
Tutorial C#
1239
24
Sambungan dan modul pihak ketiga untuk fungsi PHP Sambungan dan modul pihak ketiga untuk fungsi PHP Apr 13, 2024 pm 02:12 PM

Untuk melanjutkan fungsi fungsi PHP, anda boleh menggunakan sambungan dan modul pihak ketiga. Sambungan menyediakan fungsi dan kelas tambahan yang boleh dipasang dan didayakan melalui pengurus pakej pecl. Modul pihak ketiga menyediakan fungsi khusus dan boleh dipasang melalui pengurus pakej Komposer. Contoh praktikal termasuk menggunakan sambungan untuk menghuraikan data JSON yang kompleks dan menggunakan modul untuk mengesahkan data.

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Mar 24, 2024 pm 06:03 PM

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Dengan populariti perisian sosial dan penekanan yang semakin meningkat terhadap privasi dan keselamatan orang ramai, fungsi klon WeChat telah beransur-ansur menjadi tumpuan perhatian. Fungsi klon WeChat boleh membantu pengguna log masuk ke berbilang akaun WeChat pada telefon mudah alih yang sama pada masa yang sama, menjadikannya lebih mudah untuk diurus dan digunakan. Tidak sukar untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Anda hanya perlu mengikuti langkah berikut. Langkah 1: Pastikan versi sistem telefon mudah alih dan versi WeChat memenuhi keperluan Pertama, pastikan versi sistem telefon mudah alih Huawei anda telah dikemas kini kepada versi terkini, serta Apl WeChat.

Analisis makna dan penggunaan titik tengah dalam PHP Analisis makna dan penggunaan titik tengah dalam PHP Mar 27, 2024 pm 08:57 PM

[Analisis makna dan penggunaan titik tengah dalam PHP] Dalam PHP, titik tengah (.) ialah operator yang biasa digunakan untuk menyambung dua rentetan atau sifat atau kaedah objek. Dalam artikel ini, kami akan menyelami makna dan penggunaan titik tengah dalam PHP, menggambarkannya dengan contoh kod konkrit. 1. Operator titik tengah rentetan Concatenate Penggunaan yang paling biasa dalam PHP adalah untuk menggabungkan dua rentetan. Dengan meletakkan . antara dua rentetan, anda boleh menyambungkannya untuk membentuk rentetan baharu. $string1=&qu

Analisis ciri baharu Win11: Bagaimana untuk melangkau log masuk ke akaun Microsoft Analisis ciri baharu Win11: Bagaimana untuk melangkau log masuk ke akaun Microsoft Mar 27, 2024 pm 05:24 PM

Analisis ciri baharu Win11: Cara melangkau log masuk ke akaun Microsoft Dengan keluaran Windows 11, ramai pengguna mendapati ia membawa lebih banyak kemudahan dan ciri baharu. Walau bagaimanapun, sesetengah pengguna mungkin tidak suka sistem mereka terikat pada akaun Microsoft dan ingin melangkau langkah ini. Artikel ini akan memperkenalkan beberapa kaedah untuk membantu pengguna melangkau log masuk ke akaun Microsoft dalam Windows 11 dan mencapai pengalaman yang lebih peribadi dan autonomi. Mula-mula, mari kita fahami sebab sesetengah pengguna enggan log masuk ke akaun Microsoft mereka. Di satu pihak, sesetengah pengguna bimbang bahawa mereka

Apakah mata wang GateToken(GT)? Pengenalan kepada fungsi syiling GT dan ekonomi token Apakah mata wang GateToken(GT)? Pengenalan kepada fungsi syiling GT dan ekonomi token Jul 15, 2024 pm 04:36 PM

Apakah mata wang GateToken(GT)? GT (GateToken) ialah aset asli pada rantaian GateChain dan mata wang platform rasmi Gate.io. Nilai syiling GT berkait rapat dengan pembangunan ekologi Gate.io dan GateChain. Apakah GateChain? GateChain dilahirkan pada 2018 dan merupakan generasi baharu rangkaian awam berprestasi tinggi yang dilancarkan oleh Gate.io. GateChain menumpukan pada melindungi keselamatan aset dalam rantaian pengguna dan menyediakan perkhidmatan transaksi terdesentralisasi yang mudah. Matlamat GateChain adalah untuk membina ekosistem penyimpanan, pengedaran dan transaksi aset digital terdesentralisasi yang selamat dan cekap peringkat perusahaan. Gatechain mempunyai asal

Memahami VSCode: Untuk apa alat ini digunakan? Memahami VSCode: Untuk apa alat ini digunakan? Mar 25, 2024 pm 03:06 PM

"Memahami VSCode: Untuk apa alat ini digunakan?" 》Sebagai pengaturcara, sama ada anda seorang pemula atau pembangun berpengalaman, anda tidak boleh melakukannya tanpa menggunakan alat penyuntingan kod. Di antara banyak alat penyuntingan, Kod Visual Studio (pendek kata VSCode) sangat popular di kalangan pembangun sebagai penyunting kod sumber terbuka, ringan dan berkuasa. Jadi, untuk apa sebenarnya VSCode digunakan? Artikel ini akan menyelidiki fungsi dan kegunaan VSCode dan menyediakan contoh kod khusus untuk membantu pembaca

Pemahaman mendalam tentang fungsi ulasan berbilang baris bahasa Go Pemahaman mendalam tentang fungsi ulasan berbilang baris bahasa Go Mar 28, 2024 pm 02:03 PM

Dalam bahasa Go, ulasan ialah elemen program yang sangat penting yang boleh membantu pengaturcara memahami logik dan fungsi kod dengan lebih baik. Selain komen satu baris, bahasa Go juga menyokong fungsi komen berbilang baris Melalui komen berbilang baris, anda boleh mengulas sekeping kandungan dengan berbilang baris kod supaya ia tidak akan dikenali oleh pengkompil. . Artikel ini akan menyelidiki penggunaan ulasan berbilang baris dalam bahasa Go, serta contoh kod khusus. Sintaks komen berbilang baris Dalam bahasa Go, komen berbilang baris bermula dengan /* dan berakhir dengan */ Anda boleh mengulas berbilang baris kandungan antara pasangan simbol ini. ini

Apakah kegunaan aplikasi mudah alih dan Jiaqin? Apakah kegunaan aplikasi mudah alih dan Jiaqin? Mar 27, 2024 pm 09:01 PM

APP Mudah Alih Hejiaqin ialah perisian komprehensif yang menyepadukan pengurusan keluarga, kawalan pintar dan komunikasi keluarga. Ia bertujuan untuk mewujudkan persekitaran rumah yang selesa, pintar dan harmoni untuk pengguna melalui operasi pintar dan mudah. Melalui aplikasi ini, pengguna boleh mengawal dan mengurus pelbagai peranti pintar dengan mudah di rumah serta menikmati kemudahan yang dibawa oleh kehidupan pintar. Jadi apakah fungsi khusus Aplikasi Mudah Alih dan Jiaqin Pengguna yang ingin mengetahui lebih lanjut mengenainya boleh mengikuti artikel ini untuk mengetahui lebih lanjut mengenainya! Tutorial tentang cara menggunakan aplikasi Mudah Alih dan Jiaqin: Apakah kegunaan aplikasi Mudah Alih dan Jiaqin Walaupun anda tidak tahu IT, anda boleh menguruskan rangkaian dengan mudah 2. Tidak kira berapa banyak produk pintar yang anda ada app sudah cukup. 3. Walaupun anda berada beribu-ribu batu dari rumah, anda masih boleh "pulang" untuk menontonnya

See all articles