中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

PHP寫的加密函數,支持私人密鑰(詳細介紹)

在開發php系統時,會員部分往往是一個必不可少的模塊,而密碼的處理又是不得不面對的問題,php 的 Mcrypt 加密庫又需要額外設置,很多人都是直接使用md5()函數加密,這個方法的確安全,但是因為md5是不可逆加密,無法還原密碼,因此也有一些不便之處,本文介紹加密函數支持私鑰,用起來還是不錯的.
代碼如下:
php:
復制代碼 代碼如下:
<ol><li class="li1"><div class="de1"> </div>
</li>
<li class="li1"><div class="de1"><span class="kw2"><?php</span>
 </div>
</li>
<li class="li1"><div class="de1"><span class="co1">// 說明:php 寫的加密函數,支持私人密鑰 </span>
</div>
</li>
<li class="li1"><div class="de1"><span class="co1">// 整理:http://www.jb51.NET </span>
</div>
</li>
<li class="li2"><div class="de2"> </div>
</li>
<li class="li1"><div class="de1"><span class="kw2">function</span>
 keyED<span class="br0">(</span>
<span class="re0">$txt</span>
,<span class="re0">$encrypt_key</span>
<span class="br0">)</span>
   </div>
</li>
<li class="li1"><div class="de1"><span class="br0">{</span>
   </div>
</li>
<li class="li1"><div class="de1">    <span class="re0">$encrypt_key</span>
 = <span class="kw3">md5</span>
<span class="br0">(</span>
<span class="re0">$encrypt_key</span>
<span class="br0">)</span>
;   </div>
</li>
<li class="li1"><div class="de1">    <span class="re0">$ctr</span>
=<span class="nu0">0</span>
;   </div>
</li>
<li class="li2"><div class="de2">    <span class="re0">$tmp</span>
 = <span class="st0">""</span>
;   </div>
</li>
<li class="li1"><div class="de1">    <span class="kw1">for</span>
 <span class="br0">(</span>
<span class="re0">$i</span>
=<span class="nu0">0</span>
;<span class="re0">$i</span>
<strlen<span class="br0">(</span>
<span class="re0">$txt</span>
<span class="br0">)</span>
;<span class="re0">$i</span>
++<span class="br0">)</span>
   </div>
</li>
<li class="li1"><div class="de1">    <span class="br0">{</span>
   </div>
</li>
<li class="li1"><div class="de1">        <span class="kw1">if</span>
 <span class="br0">(</span>
<span class="re0">$ctr</span>
==<span class="kw3">strlen</span>
<span class="br0">(</span>
<span class="re0">$encrypt_key</span>
<span class="br0">)</span>
<span class="br0">)</span>
 <span class="re0">$ctr</span>
=<span class="nu0">0</span>
;   </div>
</li>
<li class="li1"><div class="de1">        <span class="re0">$tmp</span>
.= <span class="kw3">substr</span>
<span class="br0">(</span>
<span class="re0">$txt</span>
,<span class="re0">$i</span>
,<span class="nu0">1</span>
<span class="br0">)</span>
 ^ <span class="kw3">substr</span>
<span class="br0">(</span>
<span class="re0">$encrypt_key</span>
,<span class="re0">$ctr</span>
,<span class="nu0">1</span>
<span class="br0">)</span>
;   </div>
</li>
<li class="li2"><div class="de2">        <span class="re0">$ctr</span>
++;   </div>
</li>
<li class="li1"><div class="de1">    <span class="br0">}</span>
   </div>
</li>
<li class="li1"><div class="de1">    <span class="kw1">return</span>
 <span class="re0">$tmp</span>
;   </div>
</li>
<li class="li1"><div class="de1"><span class="br0">}</span>
   </div>
</li>
<li class="li1"><div class="de1"> </div>
</li>
<li class="li2"><div class="de2"><span class="kw2">function</span>
 encrypt<span class="br0">(</span>
<span class="re0">$txt</span>
,<span class="re0">$key</span>
<span class="br0">)</span>
   </div>
</li>
<li class="li1"><div class="de1"><span class="br0">{</span>
   </div>
</li>
<li class="li1"><div class="de1">    <span class="kw3">srand</span>
<span class="br0">(</span>
<span class="br0">(</span>
double<span class="br0">)</span>
<span class="kw3">microtime</span>
<span class="br0">(</span>
<span class="br0">)</span>
*<span class="nu0">1000000</span>
<span class="br0">)</span>
;   </div>
</li>
<li class="li1"><div class="de1">    <span class="re0">$encrypt_key</span>
 = <span class="kw3">md5</span>
<span class="br0">(</span>
<span class="kw3">rand</span>
<span class="br0">(</span>
<span class="nu0">0</span>
,<span class="nu0">32000</span>
<span class="br0">)</span>
<span class="br0">)</span>
;   </div>
</li>
<li class="li1"><div class="de1">    <span class="re0">$ctr</span>
=<span class="nu0">0</span>
;   </div>
</li>
<li class="li2"><div class="de2">    <span class="re0">$tmp</span>
 = <span class="st0">""</span>
;   </div>
</li>
<li class="li1"><div class="de1">    <span class="kw1">for</span>
 <span class="br0">(</span>
<span class="re0">$i</span>
=<span class="nu0">0</span>
;<span class="re0">$i</span>
<strlen<span class="br0">(</span>
<span class="re0">$txt</span>
<span class="br0">)</span>
;<span class="re0">$i</span>
++<span class="br0">)</span>
   </div>
</li>
<li class="li1"><div class="de1">    <span class="br0">{</span>
   </div>
</li>
<li class="li1"><div class="de1">        <span class="kw1">if</span>
 <span class="br0">(</span>
<span class="re0">$ctr</span>
==<span class="kw3">strlen</span>
<span class="br0">(</span>
<span class="re0">$encrypt_key</span>
<span class="br0">)</span>
<span class="br0">)</span>
 <span class="re0">$ctr</span>
=<span class="nu0">0</span>
;   </div>
</li>
<li class="li1"><div class="de1">        <span class="re0">$tmp</span>
.= <span class="kw3">substr</span>
<span class="br0">(</span>
<span class="re0">$encrypt_key</span>
,<span class="re0">$ctr</span>
,<span class="nu0">1</span>
<span class="br0">)</span>
 . <span class="br0">(</span>
<span class="kw3">substr</span>
<span class="br0">(</span>
<span class="re0">$txt</span>
,<span class="re0">$i</span>
,<span class="nu0">1</span>
<span class="br0">)</span>
 ^ <span class="kw3">substr</span>
<span class="br0">(</span>
<span class="re0">$encrypt_key</span>
,<span class="re0">$ctr</span>
,<span class="nu0">1</span>
<span class="br0">)</span>
<span class="br0">)</span>
;   </div>
</li>
<li class="li2"><div class="de2">        <span class="re0">$ctr</span>
++;   </div>
</li>
<li class="li1"><div class="de1">    <span class="br0">}</span>
   </div>
</li>
<li class="li1"><div class="de1">    <span class="kw1">return</span>
 keyED<span class="br0">(</span>
<span class="re0">$tmp</span>
,<span class="re0">$key</span>
<span class="br0">)</span>
; </div>
</li>
<li class="li1"><div class="de1"><span class="br0">}</span>
   </div>
</li>
<li class="li1"><div class="de1"> </div>
</li>
<li class="li2"><div class="de2"><span class="kw2">function</span>
 decrypt<span class="br0">(</span>
<span class="re0">$txt</span>
,<span class="re0">$key</span>
<span class="br0">)</span>
   </div>
</li>
<li class="li1"><div class="de1"><span class="br0">{</span>
   </div>
</li>
<li class="li1"><div class="de1">    <span class="re0">$txt</span>
 = keyED<span class="br0">(</span>
<span class="re0">$txt</span>
,<span class="re0">$key</span>
<span class="br0">)</span>
;   </div>
</li>
<li class="li1"><div class="de1">    <span class="re0">$tmp</span>
 = <span class="st0">""</span>
;   </div>
</li>
<li class="li1"><div class="de1">    <span class="kw1">for</span>
 <span class="br0">(</span>
<span class="re0">$i</span>
=<span class="nu0">0</span>
;<span class="re0">$i</span>
<strlen<span class="br0">(</span>
<span class="re0">$txt</span>
<span class="br0">)</span>
;<span class="re0">$i</span>
++<span class="br0">)</span>
   </div>
</li>
<li class="li2"><div class="de2">    <span class="br0">{</span>
   </div>
</li>
<li class="li1"><div class="de1">        <span class="re0">$md5</span>
 = <span class="kw3">substr</span>
<span class="br0">(</span>
<span class="re0">$txt</span>
,<span class="re0">$i</span>
,<span class="nu0">1</span>
<span class="br0">)</span>
;   </div>
</li>
<li class="li1"><div class="de1">        <span class="re0">$i</span>
++;   </div>
</li>
<li class="li1"><div class="de1">        <span class="re0">$tmp</span>
.= <span class="br0">(</span>
<span class="kw3">substr</span>
<span class="br0">(</span>
<span class="re0">$txt</span>
,<span class="re0">$i</span>
,<span class="nu0">1</span>
<span class="br0">)</span>
 ^ <span class="re0">$md5</span>
<span class="br0">)</span>
;   </div>
</li>
<li class="li1"><div class="de1">    <span class="br0">}</span>
   </div>
</li>
<li class="li2"><div class="de2">    <span class="kw1">return</span>
 <span class="re0">$tmp</span>
;   </div>
</li>
<li class="li1"><div class="de1"><span class="br0">}</span>
  </div>
</li>
<li class="li1"><div class="de1"> </div>
</li>
<li class="li1"><div class="de1"><span class="re0">$key</span>
 = <span class="st0">"www.yitu.org"</span>
;   </div>
</li>
<li class="li1"><div class="de1"><span class="re0">$string</span>
 = <span class="st0">"我是加密字符"</span>
;   </div>
</li>
<li class="li2"><div class="de2"> </div>
</li>
<li class="li1"><div class="de1"><span class="co1">// encrypt $string, and store it in $enc_text   </span>
</div>
</li>
<li class="li1"><div class="de1"><span class="re0">$enc_text</span>
 = encrypt<span class="br0">(</span>
<span class="re0">$string</span>
,<span class="re0">$key</span>
<span class="br0">)</span>
;   </div>
</li>
<li class="li1"><div class="de1"> </div>
</li>
<li class="li1"><div class="de1"><span class="co1">// decrypt the encrypted text $enc_text, and store it in $dec_text   </span>
</div>
</li>
<li class="li2"><div class="de2"><span class="re0">$dec_text</span>
 = decrypt<span class="br0">(</span>
<span class="re0">$enc_text</span>
,<span class="re0">$key</span>
<span class="br0">)</span>
;   </div>
</li>
<li class="li1"><div class="de1"> </div>
</li>
<li class="li1"><div class="de1"><span class="kw3">print</span>
 <span class="st0">"加密的 text : $enc_text <Br> "</span>
;   </div>
</li>
<li class="li1"><div class="de1"><span class="kw3">print</span>
 <span class="st0">"解密的 text : $dec_text <Br> "</span>
;   </div>
</li>
<li class="li1"><div class="de1"><span class="kw2">?></span>
 </div>
</li>
<li class="li2"><div class="de2"> </div>
</li>
</ol>

每一次加密后的結果是不一樣的,大大加強了密碼的安全性.

php技術PHP寫的加密函數,支持私人密鑰(詳細介紹),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 人人操日日干 | 四虎影院欧美 | 欧美在线一区二区三区 | 精品欧美乱码久久久久久 | 女人牲交视频一级毛片 | 免费一级欧美在线观看视频 | 成人高清视频在线观看 | 欧美一区二区三区在线观看 | 久久精品一区二区视频 | 欧美一区不卡 | 国产亚洲一区二区在线观看 | 国户精品久久久久久久久久久不卡 | 超碰成人免费观看 | 国产亚洲精品久久久久久牛牛 | 国产成人精品网站 | 欧美群妇大交群中文字幕 | 免费国产一区二区 | 三级黄色网址 | 国产传媒在线播放 | 天天干狠狠干 | 国产乱码精品一区二区三区五月婷 | 激情久久av一区av二区av三区 | 国产精品一区二区三区在线 | 一区影视 | 一本色道精品久久一区二区三区 | 在线观看欧美一区 | 欧美日韩在线一区二区 | 欧美日韩亚洲一区 | 日韩av在线一区二区 | 国产一区二区三区视频在线观看 | 国产免费又黄又爽又刺激蜜月al | 在线观看欧美一区 | 国产日韩欧美二区 | 国产视频一二三区 | 区一区二区三在线观看 | 精品久久香蕉国产线看观看亚洲 | 欧美日韩免费 | 久久久国产精品视频 | 成人免费网站www网站高清 | 日韩中文一区二区三区 | 精品粉嫩超白一线天av |