php自定义加密函数、解密

<p> 加密就是将一些字符转换为另一个字符串的过程,简单的说就是把大门上锁,并且只有你有开启的钥匙。作为一个程序员都应该有属于自己的加密方式,目前最流行的加密算法就是MD5()加密方式。但是在网站已经有了破解的软件用起来也不是很安全。下面简单的介绍一下自定义的加密函数。</p><p>代码如下<span class="Apple-tab-span" > </span></p><pre class="brush:php;toolbar:false">&quot;/*加密*/ functionaddcoder($str) { $yuan=&#39;abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&amp;F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0&#39;; $jia=&#39;zAy%0Bx+1C$wDv^Eu2-t3(F{sr&amp;G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a&#39;; if(strlen($str)==0)returnfalse; for($i=0;$i&lt;strlen($str);$i++) { for($j=0;$j&lt;strlen($yuan);$j++) { if($str[$i]==$yuan[$j]) { $results.=$jia[$j]; break; } } } return$results; } /*解密*/ functionremovecoder($str) { $yuan=&#39;abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&amp;F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0&#39;; $jia=&#39;zAy%0Bx+1C$wDv^Eu2-t3(F{sr&amp;G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a&#39;; If(strlen($str)==0)returnfalse; for($i=0;$i&lt;strlen($str);$i++) { for($j=0;$j&lt;strlen($jia);$j++) { if($str[$i]==$jia[$j]) { $results.=$yuan[$j]; break; } } } return$results; } $str=&quot;www.111cn.net&quot;; echo&quot;加密前:&quot;.$str.&quot;&lt;br&gt;&quot;; $str1=addcoder($str); echo&quot;加密后:&quot;.$str1.&quot;&lt;br&gt;&quot;; $str2=removecoder($str1); echo&quot;解密后:&quot;.$str2.&quot;&lt;br&gt;&quot;;</pre><p>  例子二,利用md5+base64_encode进行编辑处理。</p><p>代码如下<span class="Apple-tab-span" > </span></p><pre class="brush:php;toolbar:false">&lt;?php //www.111cn.net functionpassport_encrypt($txt,$key){ srand((double)microtime()*1000000); $encrypt_key=md5(rand(0,32000)); $ctr=0; $tmp=&#39;&#39;; for($i=0;$i&lt;strlen($txt);$i++){ $ctr=$ctr==strlen($encrypt_key)?0:$ctr; $tmp.=$encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]); } returnbase64_encode(passport_key($tmp,$key)); } functionpassport_decrypt($txt,$key){ $txt=passport_key(base64_decode($txt),$key); $tmp=&#39;&#39;; for($i=0;$i&lt;strlen($txt);$i++){ $md5=$txt[$i]; $tmp.=$txt[++$i]^$md5; } return$tmp; } functionpassport_key($txt,$encrypt_key){ $encrypt_key=md5($encrypt_key); $ctr=0; $tmp=&#39;&#39;; for($i=0;$i&lt;strlen($txt);$i++){ $ctr=$ctr==strlen($encrypt_key)?0:$ctr; $tmp.=$txt[$i]^$encrypt_key[$ctr++]; } return$tmp; } ?&gt;</pre>
RangeTime:0.003362s
RangeMem:197.73 KB
返回顶部 留言