PHP的加密解密字符串函数
Jun 13, 2016 am 09:46 AM
encryptphpkodfungsiPenyulitan dan penyahsulitanrentetanpraktikaldaripadaprogram
程序中经常使用的PHP加密解密字符串函数
代码如下:
<span /*</span><span ******************************************************************** 函数名称:encrypt 函数作用:加密解密字符串 使用方法: 加密 :encrypt('str','E','nowamagic'); 解密 :encrypt('被加密过的字符串','D','nowamagic'); 参数说明: $string :需要加密解密的字符串 $operation:判断是加密还是解密:E:加密 D:解密 $key :加密的钥匙(密匙); http://www.cnblogs.com/roucheng/ ********************************************************************</span><span */</span> <span function</span> encrypt(<span $string</span>,<span $operation</span>,<span $key</span>=''<span ) { </span><span $key</span>=<span md5</span>(<span $key</span><span ); </span><span $key_length</span>=<span strlen</span>(<span $key</span><span ); </span><span $string</span>=<span $operation</span>=='D'?<span base64_decode</span>(<span $string</span>):<span substr</span>(<span md5</span>(<span $string</span>.<span $key</span>),0,8).<span $string</span><span ; </span><span $string_length</span>=<span strlen</span>(<span $string</span><span ); </span><span $rndkey</span>=<span $box</span>=<span array</span><span (); </span><span $result</span>=''<span ; </span><span for</span>(<span $i</span>=0;<span $i</span><=255;<span $i</span>++<span ) { </span><span $rndkey</span>[<span $i</span>]=<span ord</span>(<span $key</span>[<span $i</span>%<span $key_length</span><span ]); </span><span $box</span>[<span $i</span>]=<span $i</span><span ; } </span><span for</span>(<span $j</span>=<span $i</span>=0;<span $i</span><256;<span $i</span>++<span ) { </span><span $j</span>=(<span $j</span>+<span $box</span>[<span $i</span>]+<span $rndkey</span>[<span $i</span>])%256<span ; </span><span $tmp</span>=<span $box</span>[<span $i</span><span ]; </span><span $box</span>[<span $i</span>]=<span $box</span>[<span $j</span><span ]; </span><span $box</span>[<span $j</span>]=<span $tmp</span><span ; } </span><span for</span>(<span $a</span>=<span $j</span>=<span $i</span>=0;<span $i</span><<span $string_length</span>;<span $i</span>++<span ) { </span><span $a</span>=(<span $a</span>+1)%256<span ; </span><span $j</span>=(<span $j</span>+<span $box</span>[<span $a</span>])%256<span ; </span><span $tmp</span>=<span $box</span>[<span $a</span><span ]; </span><span $box</span>[<span $a</span>]=<span $box</span>[<span $j</span><span ]; </span><span $box</span>[<span $j</span>]=<span $tmp</span><span ; </span><span $result</span>.=<span chr</span>(<span ord</span>(<span $string</span>[<span $i</span>])^(<span $box</span>[(<span $box</span>[<span $a</span>]+<span $box</span>[<span $j</span>])%256<span ])); } </span><span if</span>(<span $operation</span>=='D'<span ) { </span><span if</span>(<span substr</span>(<span $result</span>,0,8)==<span substr</span>(<span md5</span>(<span substr</span>(<span $result</span>,8).<span $key</span>),0,8<span )) { </span><span return</span> <span substr</span>(<span $result</span>,8<span ); } </span><span else</span><span { </span><span return</span>''<span ; } } </span><span else</span><span { </span><span return</span> <span str_replace</span>('=','',<span base64_encode</span>(<span $result</span><span )); } }</span>
使用方法:
<span $id</span> = 132<span ; </span><span $token</span> = encrypt(<span $id</span>, 'E', 'a'<span ); </span><span echo</span> '加密:'.encrypt(<span $id</span>, 'E', 'a'<span ); </span><span echo</span> '<br />'<span ; </span><span echo</span> '解密:'.encrypt(<span $token</span>, 'D', 'a');
Kenyataan
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
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

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

Artikel Panas
Assassin's Creed Shadows: Penyelesaian Riddle Seashell
3 minggu yang laluByDDD
Apa yang Baru di Windows 11 KB5054979 & Cara Memperbaiki Masalah Kemas Kini
2 minggu yang laluByDDD
Di mana untuk mencari kad kunci kawalan kren di atomfall
3 minggu yang laluByDDD
<🎜>: Rails Dead - Cara Melengkapkan Setiap Cabaran
4 minggu yang laluByDDD
Panduan Atomfall: Lokasi Item, Panduan Pencarian, dan Petua
1 bulan yang laluByDDD

Alat panas

Dreamweaver CS6
Alat pembangunan web visual

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.