本文实例讲述了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程序设计有所帮助。