Skip to content

Commit 5536a3b

Browse files
authored
Update 加密解密.md
1 parent 31d59f9 commit 5536a3b

File tree

1 file changed

+35
-24
lines changed

1 file changed

+35
-24
lines changed

encode/加密解密.md

Lines changed: 35 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,44 @@
11
### 加密-解密
2-
经常用到系统间的交互,通过构建秘钥,识别秘钥达到交互数据的认证。
2+
3+
###### 经常用到系统间的交互,通过构建秘钥,识别秘钥达到交互数据的认证。
34

45
php 中常用的加密方式有:md5,base64
56

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{
1615
$strNew .= $v;
1716
}
18-
}
19-
$encode_str = str_replace(['+','/','='],['&','%','('],base64_encode($strNew));
17+
}
18+
$encode_str = str_replace(['+','/','='],['&','%','('],base64_encode($strNew));
2019
return $encode_str;
21-
}
22-
23-
echo $encodeStr = encode64('gaojun');
20+
}
21+
$pwd = '98798hjolhwe948h';
22+
echo $encodeStr = encode64('gao',$pwd);
2423
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+
```
3244

33-
`

0 commit comments

Comments
 (0)