Rumah pembangunan bahagian belakang tutorial php mcrypt 如何加/解密 ?_PHP

mcrypt 如何加/解密 ?_PHP

Jun 01, 2016 pm 12:34 PM
key penyulitan bagaimana Nyahsulit

查看 Phpinfo() 页面,看看你的 libmcrypt 是哪个版本的,如果 2.4.0 以上就不能使用你的那种方法。

而且 libmcrypt 的支持的加密算法,所依赖的 libmcrypt 的版本也是不一样的。

下面的是 2.4.0+ 的加解密的方法~

也是手册中的例子

<font size="2"><font face="Verdana">PHP代码:</font><hr></font><code><font color="#000000">
<font color="#0000bb"><br></font><font color="#007700">function </font><font color="#0000bb">make_seed</font><font color="#007700">() {
<br>    list(</font><font color="#0000bb">$usec</font><font color="#007700">, </font><font color="#0000bb">$sec</font><font color="#007700">) = </font><font color="#0000bb">explode</font><font color="#007700">(</font><font color="#dd0000">' '</font><font color="#007700">, </font><font color="#0000bb">microtime</font><font color="#007700">());
<br>    return(float) </font><font color="#0000bb">$sec </font><font color="#007700">+((float) </font><font color="#0000bb">$usec </font><font color="#007700">* </font><font color="#0000bb">100000</font><font color="#007700">);
<br>}
<br></font><font color="#0000bb">srand</font><font color="#007700">(</font><font color="#0000bb">make_seed</font><font color="#007700">());
<br>
<br></font><font color="#ff8000">/* 开启加密算法/ */
<br></font><font color="#0000bb">$td </font><font color="#007700">= </font><font color="#0000bb">mcrypt_module_open</font><font color="#007700">(</font><font color="#dd0000">'twofish'</font><font color="#007700">, </font><font color="#dd0000">''</font><font color="#007700">, </font><font color="#dd0000">'ecb'</font><font color="#007700">, </font><font color="#dd0000">''</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 建立 IV,并检测 key 的长度 */
<br></font><font color="#0000bb">$iv </font><font color="#007700">= </font><font color="#0000bb">mcrypt_create_iv</font><font color="#007700">(</font><font color="#0000bb">mcrypt_enc_get_iv_size</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">), </font><font color="#0000bb">MCRYPT_RAND</font><font color="#007700">);
<br></font><font color="#0000bb">$ks </font><font color="#007700">= </font><font color="#0000bb">mcrypt_enc_get_key_size</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 生成 key */
<br></font><font color="#0000bb">$key </font><font color="#007700">= </font><font color="#0000bb">substr</font><font color="#007700">(</font><font color="#0000bb">md5</font><font color="#007700">(</font><font color="#dd0000">'very secret key'</font><font color="#007700">), </font><font color="#0000bb">0</font><font color="#007700">, </font><font color="#0000bb">$ks</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 初始化加密程序 */
<br></font><font color="#0000bb">mcrypt_generic_init</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">, </font><font color="#0000bb">$key</font><font color="#007700">, </font><font color="#0000bb">$iv</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 加密, $encrypted 保存的是已经加密后的数据 */
<br></font><font color="#007700">print </font><font color="#0000bb">$encrypted </font><font color="#007700">= </font><font color="#0000bb">mcrypt_generic</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">, </font><font color="#dd0000">'This is very important data'</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 检测加密句柄 */
<br></font><font color="#0000bb">mcrypt_generic_deinit</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 初始化加密模块,用以解密 */
<br></font><font color="#0000bb">mcrypt_generic_init</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">, </font><font color="#0000bb">$key</font><font color="#007700">, </font><font color="#0000bb">$iv</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 解密 */
<br></font><font color="#0000bb">$decrypted </font><font color="#007700">= </font><font color="#0000bb">mdecrypt_generic</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">, </font><font color="#0000bb">$encrypted</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 检测解密句柄,并关闭模块 */
<br></font><font color="#0000bb">mcrypt_generic_deinit</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">);
<br></font><font color="#0000bb">mcrypt_module_close</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 显示原始字符串 */
<br></font><font color="#007700">echo </font><font color="#0000bb">trim</font><font color="#007700">(</font><font color="#0000bb">$decrypted</font><font color="#007700">).</font><font color="#dd0000">"\n"</font><font color="#007700">;<br></font><font color="#0000bb"></font>
</font>
</code><hr>
Salin selepas log masuk
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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Mendedahkan punca kod status HTTP 460 Mendedahkan punca kod status HTTP 460 Feb 19, 2024 pm 08:30 PM

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

Apakah yang dimaksudkan dengan atribut identiti dalam SQL? Apakah yang dimaksudkan dengan atribut identiti dalam SQL? Feb 19, 2024 am 11:24 AM

Apakah Identity dalam SQL? Contoh kod khusus diperlukan Dalam SQL, Identity ialah jenis data khas yang digunakan untuk menjana nombor penambahan automatik. Ia sering digunakan untuk mengenal pasti setiap baris data dalam jadual. Lajur Identiti sering digunakan bersama dengan lajur kunci utama untuk memastikan setiap rekod mempunyai pengecam unik. Artikel ini akan memperincikan cara menggunakan Identiti dan beberapa contoh kod praktikal. Cara asas untuk menggunakan Identity ialah menggunakan Identit semasa membuat jadual.

Bagaimana untuk menyediakan penyulitan album foto pada telefon mudah alih Apple Bagaimana untuk menyediakan penyulitan album foto pada telefon mudah alih Apple Mar 02, 2024 pm 05:31 PM

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

Kerentanan kunci pengesahan dua faktor Yubico yang tidak dapat ditambal memecah keselamatan kebanyakan peranti Yubikey 5, Kunci Keselamatan dan YubiHSM 2FA Kerentanan kunci pengesahan dua faktor Yubico yang tidak dapat ditambal memecah keselamatan kebanyakan peranti Yubikey 5, Kunci Keselamatan dan YubiHSM 2FA Sep 04, 2024 pm 06:32 PM

Kerentanan kunci pengesahan dua faktor Yubico yang tidak dapat ditambal telah memecahkan keselamatan kebanyakan peranti Yubikey 5, Kunci Keselamatan dan YubiHSM 2FA. JavaCard A22 Feitian dan peranti lain yang menggunakan TPM siri Infineon SLB96xx juga terdedah. Semua

Bagaimana untuk menetapkan kata laluan untuk penyulitan folder tanpa pemampatan Bagaimana untuk menetapkan kata laluan untuk penyulitan folder tanpa pemampatan Feb 20, 2024 pm 03:27 PM

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"

Bagaimana untuk menyediakan penyahsulitan perkataan Bagaimana untuk menyediakan penyahsulitan perkataan Mar 20, 2024 pm 04:36 PM

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

Menyahsulit helah yang ditambahkan oleh jurubahasa PyCharm Menyahsulit helah yang ditambahkan oleh jurubahasa PyCharm Feb 21, 2024 pm 03:33 PM

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

Bagaimana untuk menyulitkan pakej termampat dalam kaedah pakej termampat yang disulitkan winrar-winrar Bagaimana untuk menyulitkan pakej termampat dalam kaedah pakej termampat yang disulitkan winrar-winrar Mar 23, 2024 pm 12:10 PM

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

See all articles