background image

 

for

 (

$a

 = 

$j

 = 

$i

 = 0; 

$i

 < 

$string_length

$i

++) { 

$a

 = (

$a

 + 1) % 256; 

$j

 = (

$j

 + 

$box

[

$a

]) % 256; 

$tmp

 = 

$box

[

$a

]; 

$box

[

$a

] = 

$box

[

$j

]; 

$box

[

$j

] = 

$tmp

$result

 .= 

chr

(ord(

$string

[

$i

]) ^ (

$box

[(

$box

[

$a

] + 

$box

[

$j

]) % 256])); 


 

if

 (

$operation

 == 'DECODE') { 

if

 ((

substr

(

$result

, 0, 10) == 0 || 

substr

(

$result

, 0, 10) - time() > 0) && 

substr

(

$result

, 10, 16) == 

substr

(md5(

substr

(

$result

, 26) . 

$keyb

), 0, 16)) { 

return

 

substr

(

$result

, 26); 

else

 { 

return

 ''; 


else

 { 

return

 

$keyc

 . 

str_replace

('=', '', 

base64_encode

(

$result

)); 



 
4.字符串转十六进制
代码如下:
 

/** 

 

字符串转十六进制

* @param unknown_type $s 
*/

 

function

 str2hex(

$s

) { 

$r

 = ""; 

$hexes

 = 

array

 ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"); 

for

 (

$i

=0; 

$i

<

strlen

(

$s

); 

$i

++) 

$r

 .= (

$hexes

 [(ord(

$s

{

$i

}) >> 4)] . 

$hexes

 [(ord(

$s

{

$i

}) & 0xf)]); 

return

 

$r


 
5.十六进制转字符串
代码如下:
 

/** 

 

十六进制转字符串

* @param unknown_type $s