>  기사  >  백엔드 개발  >  PHP 암호화 및 암호 해독 코드 조각

PHP 암호화 및 암호 해독 코드 조각

高洛峰
高洛峰원래의
2016-12-02 11:42:231058검색

<?php 
$key = "This is supposed to be a secret key !!!"; 
function keyED($txt,$encrypt_key) 
{ 
$encrypt_key = md5($encrypt_key); 
$ctr=0; 
$tmp = ""; 
for ($i=0;$i<strlen($txt);$i ) 
{ 
if ($ctr==strlen($encrypt_key)) $ctr=0; 
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1); 
$ctr ; 
} 
return $tmp; 
} 
function encrypt($txt,$key) 
{ 
srand((double)microtime()*1000000); 
$encrypt_key = md5(rand(0,32000)); 
$ctr=0; 
$tmp = ""; 
for ($i=0;$i<strlen($txt);$i ) 
{ 
if ($ctr==strlen($encrypt_key)) $ctr=0; 
$tmp.= substr($encrypt_key,$ctr,1) . 
(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1)); 
$ctr ; 
} 
return keyED($tmp,$key); 
} 
function decrypt($txt,$key) 
{ 
$txt = keyED($txt,$key); 
$tmp = ""; 
for ($i=0;$i<strlen($txt);$i ) 
{ 
$md5 = substr($txt,$i,1); 
$i ; 
$tmp.= (substr($txt,$i,1) ^ $md5); 
} 
return $tmp; 
} 
$string = "Hello World !!!"; 
// encrypt $string, and store it in $enc_text 
$enc_text = encrypt($string,$key); 
// decrypt the encrypted text $enc_text, and store it in $dec_text 
$dec_text = decrypt($enc_text,$key); 
print "Original text : $string <Br>\n"; 
print "Encrypted text : $enc_text <Br>\n"; 
print "Decrypted text : $dec_text <Br>\n"; 
?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.