本文实例讲述了php结合md5的加密解密算法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
<?php /* * Created on 2016-9-30 * */ function encrypt( $data , $key ) { $key = md5( $key ); $x = 0; $len = strlen ( $data ); $l = strlen ( $key ); for ( $i = 0; $i < $len ; $i ++) { if ( $x == $l ) { $x = 0; } $char .= $key { $x }; $x ++; } for ( $i = 0; $i < $len ; $i ++) { $str .= chr (ord( $data { $i }) + (ord( $char { $i })) % 256); } return base64_encode ( $str ); } function decrypt( $data , $key ) { $key = md5( $key ); $x = 0; $data = base64_decode ( $data ); $len = strlen ( $data ); $l = strlen ( $key ); for ( $i = 0; $i < $len ; $i ++) { if ( $x == $l ) { $x = 0; } $char .= substr ( $key , $x , 1); $x ++; } for ( $i = 0; $i < $len ; $i ++) { if (ord( substr ( $data , $i , 1)) < ord( substr ( $char , $i , 1))) { $str .= chr ((ord( substr ( $data , $i , 1)) + 256) - ord( substr ( $char , $i , 1))); } else { $str .= chr (ord( substr ( $data , $i , 1)) - ord( substr ( $char , $i , 1))); } } return $str ; } $data = '服务器之家www.zzvips.com' ; // 被加密信息 $data =iconv( "gbk" , "utf-8" , $data ); $key = 'www.zzvips.com' ; // 密钥 $encrypt = encrypt( $data , $key ); $decrypt = decrypt( $encrypt , $key ); echo $encrypt , "<br/>" , $decrypt ; ?> |
运行结果如下:
1
2
|
TrXMTM8SFB3DGhTr2qeuYqOXZmpmn8mo 服务器之家www.zzvips.com |
希望本文所述对大家PHP程序设计有所帮助。