이 기사에서는 모든 사람이 PHP를 사용하여 암호화 및 암호 해독을 구현하는 방법을 배울 수 있습니다. 코드에는 필요한 참조 값이 있습니다.
<?php //加密函数 function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $encrypt_key = md5(rand(0, 32000)); $ctr = 0; $tmp = ''; for($i = 0;$i < strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]); } return base64_encode(passport_key($tmp, $key)); } //解密函数 function passport_decrypt($txt, $key) { $txt = passport_key(base64_decode($txt), $key); $tmp = ''; for($i = 0;$i < strlen($txt); $i++) { $md5 = $txt[$i]; $tmp .= $txt[++$i] ^ $md5; } return $tmp; } //上面两个函数用到的公共函数 function passport_key($txt, $encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr = 0; $tmp = ''; for($i = 0; $i < strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp .= $txt[$i] ^ $encrypt_key[$ctr++]; } return $tmp; } //---------------------------------------- //---------------------------------------- //-------------示例----------------------- //---------------------------------------- //---------------------------------------- // $str = '你好,我是+-!少林a b张三丰'; echo '<br>------key:aaa----------<br>'; echo $x = passport_encrypt($str,'aaa'); //值会变,其中一个如下 //AOdS7lWlU+IM+1fnALBV5QOOV7dchQfEX+MCwgf2U3BXeQcnVuNavgPAA+hbmlLJAWEHIVRnD7hYvgf/U+lS4gCKUrdVvVO3 echo '<br>-----------------------<br>'; echo passport_decrypt($x,'aaa'); echo '<br><br><br><br><br><br><br><br><br><br><br><br>'; echo '<br>------key:bbb----------<br>'; echo $y = passport_encrypt($str,'bbb'); //值会变,其中一个如下 //Ae0F5gD1C+oB9wC/DOZZ6AeKU7MCjleWUbEAmFGuAi4JLF8gUeFW4lKQUrYBmlrAA2MHIVcxBrMFv1PzXOha5QGABb8A7Qu/ echo '<br>-----------------------<br>'; echo passport_decrypt($y,'bbb'); ?>rrree
관련 튜토리얼: PHP 비디오 튜토리얼
위 내용은 PHP 암호화 및 복호화 기능 코드 구현 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!