|
1 | 1 | ### 加密-解密 |
2 | | -经常用到系统间的交互,通过构建秘钥,识别秘钥达到交互数据的认证。 |
| 2 | + |
| 3 | +###### 经常用到系统间的交互,通过构建秘钥,识别秘钥达到交互数据的认证。 |
3 | 4 |
|
4 | 5 | php 中常用的加密方式有:md5,base64 |
5 | 6 |
|
6 | | -如果构建一个对称加密,给系统交互使用 |
7 | | -` |
8 | | -<?php |
9 | | -function encode64($str='', $pwdStr = 'csff'){ |
10 | | - $strArr = str_split($str); |
11 | | - $strNew = ''; |
12 | | - foreach($strArr as $k=>$v){ |
13 | | - if(strlen($pwdStr) == $k){ |
14 | | - $strNew .= $v.$pwdStr; |
15 | | - }else{ |
| 7 | +如何构建一个对称加密,给系统交互使用 |
| 8 | + |
| 9 | +``` |
| 10 | +function encode64($str='',$pwdStr='gy8gk'){ |
| 11 | + foreach(str_split($pwdStr) as $k=>$v){ |
| 12 | + if(strlen($str) == $k){ |
| 13 | + $strNew .= $v.$str; |
| 14 | + }else{ |
16 | 15 | $strNew .= $v; |
17 | 16 | } |
18 | | - } |
19 | | - $encode_str = str_replace(['+','/','='],['&','%','('],base64_encode($strNew)); |
| 17 | + } |
| 18 | + $encode_str = str_replace(['+','/','='],['&','%','('],base64_encode($strNew)); |
20 | 19 | return $encode_str; |
21 | | -} |
22 | | - |
23 | | -echo $encodeStr = encode64('gaojun'); |
| 20 | +} |
| 21 | +$pwd = '98798hjolhwe948h'; |
| 22 | +echo $encodeStr = encode64('gao',$pwd); |
24 | 23 | echo "\n\r"; |
25 | | -echo decode64($encodeStr); |
26 | | -function decode64($str='', $pwdStr = 'csff'){ |
27 | | - $encode_str = str_replace(['&','%','('],['+','/','='],$str); |
28 | | - $encode_str = base64_decode($encode_str); |
29 | | - $encode_str = str_replace($pwdStr,'',$encode_str,strlen($pwdStr)); |
30 | | - return $encode_str; |
31 | | -} |
| 24 | +echo decode64($encodeStr,$pwd); |
| 25 | +
|
| 26 | +function decode64($str='', $pwdStr = 'csff') |
| 27 | +{ |
| 28 | + $encode_str = str_replace(['&','%','('],['+','/','='],$str); |
| 29 | + $encode_str = base64_decode($encode_str); |
| 30 | + echo $encode_str.PHP_EOL; |
| 31 | + $encode_arr = str_split($encode_str); |
| 32 | + $i=0; |
| 33 | + foreach(str_split($pwdStr) as $k=>$v){ |
| 34 | + if($v == $encode_arr[$k]){ |
| 35 | + $i++; |
| 36 | + unset($encode_arr[$k]); |
| 37 | + } |
| 38 | + } |
| 39 | + $encode_str = substr($encode_str, $i, $i-1); |
| 40 | + echo $encode_str.PHP_EOL; |
| 41 | + return $encode_str; |
| 42 | +} |
| 43 | +``` |
32 | 44 |
|
33 | | -` |
|
0 commit comments