PHP中加密解密字符関数串数源代:
-
- /**
- *関数: 暗号化文字列
- *パラメータ 1: 暗号化するコンテンツ
- *パラメータ 2: 鍵
- */
- functionパスポート_encrypt($str,$key){ //加密函数
- srand((double)microtime () * 1000000);
- $encrypt_key=md5(rand(0, 32000));
- $ctr=0;
- $tmp='';
- for($i=0;$i $ctr=$ctr==strlen($encrypt_key)?0:$ctr;
- $tmp.=$encrypt_key[$ctr].($str[$i] ^ $encrypt_key[$ctr++]) ;
- }
- returnbase64_encode(passport_key($tmp,$key));
- }
- /**
- *関数: 文字列を復号化します
- *パラメータ 1: 復号化する暗号文
- *パラメータ 2: key
- */
- function Passport_decrypt($str,$key){ //解密関数
- $str=passport_key(base64_decode) ($str),$key);
- $tmp='';
- for($i=0;$i $md5=$str[$i];
- $ tmp.=$str[++$i] ^ $md5;
- }
- return $tmp;
- }
- /**
- *補助機能
- */
- function Passport_key($str,$encrypt_key){
- $encrypt_key=md5( $encrypt_key);
- $ctr=0;
- $tmp='';
- for($i=0;$i $ctr=$ctr==strlen($encrypt_key )?0:$ctr;
- $tmp.=$str[$i] ^ $encrypt_key[$ctr++];
- }
- return $tmp;
- }
- $str='作者:uphtm.com;
- $key= 'uphtm.com';
- $encrypt=passport_encrypt($str,$key);
- $decrypt=passport_decrypt($encrypt,$key);
- echo '翻訳:',$str."
echo '密文:',$encrypt." gt; "; - echo '译文:',$decrypt."
gt; "; - ?>
-
复制代
|