
网管注意 PHP 5.2.5之前版本多个安全漏洞
发布时间:2007.11.15 04:49
本文将绍了一个简单易用的加密/解密算法:使用异或(XOR)运算。本算法原理简单,旨在使读者对信息的加密/解密有一个更加直观的印象。 Dnr?&$c`
>$ j PQ
XOR算法原理 PfkiP1xi
pq$lL =
从加密的主要方法看,换位法过于简单,特别是对于数据量少的情况很容易由密文猜出明文,而替换法不失为一种行之有效的简易算法。 .jp{ Is0
2+q~\"V?
从各种替换法运算的特点看,异或运算最适合用于简易加解密运算,这种方法的原理是:当一个数A和另一个数B进行异或运算会生成另一个数C,如果再将C和B进行异或运算则C又会还原为A。 W9]Kko\&
pf(&Ww+:
相对于其他的简易加密算法,XOR算法的优点如下。 *>U&bQfo
V~*y2 ,Nb
(1)算法简单,对于高级语言很容易能实现。 R/=YI(e*nT
Gk0f?#2 6
(2)速度快,可以在任何时候、任何地方使用。 c< Kmp6T
MR2n D
(3)对任何字符都是有效的,不像有些简易加密算法,只对西文字符有效,对中文加密后再解密无法还原为原来的字符。 2N:~_7X
r5r vi
XOR算法实现 KOc99fuU
VI6TIY ]
上一部分介绍了如何使用XOR运算进行加密/解密的原理,本节将使用其加密用户的登录信息。根据上一小节介绍的XOR加密算法的原理,不难写出以下的加密解密函数。首先列出加密算法。 USH3${c$s
Y0D&VY qG
1 <!--encrypy_xor:简单使用XOR运算的加密函数-----------------------> z ]1/= h
2 <?php j'90lGj9
3 //加密函数 ,6nqX%Jf
4 function myEncrypt($string, $key) 8 s[@.f5a
5 { k nF8)
6 for($i=0; $i<STRLEN($STRING); p $i )<> ta&BjxW4 (
7 { ~p EpN3
8 for($j=0; $j<STRLEN($KEY); p $j )<> u2xatjb9k
9 { '~*xjx.y