本文实例讲述了php结合md5实现的加密解密方法。分享给大家供大家参考,具体如下:
最近在整理代码发现了一个不错的东西,结合md5的加解密算法。网上关于php结合md5的加密,解密算法比较少的,其实php手册里面就有,改一改就行了。在此贴一下,用这算法要加载一个php模块mcrypt,不然用不了。
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
|
//加密
function string2secret( $str )
{
$key = "123" ;
$td = mcrypt_module_open(MCRYPT_DES, '' , 'ecb' , '' );
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size( $td ), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size( $td );
$key = substr (md5( $key ), 0, $ks );
mcrypt_generic_init( $td , $key , $iv );
$secret = mcrypt_generic( $td , $str );
mcrypt_generic_deinit( $td );
mcrypt_module_close( $td );
return $secret ;
}
//解密
function secret2string( $sec )
{
$key = "123" ;
$td = mcrypt_module_open(MCRYPT_DES, '' , 'ecb' , '' );
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size( $td ), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size( $td );
$key = substr (md5( $key ), 0, $ks );
mcrypt_generic_init( $td , $key , $iv );
$string = mdecrypt_generic( $td , $sec );
mcrypt_generic_deinit( $td );
mcrypt_module_close( $td );
return trim( $string );
}
echo secret2string(string2secret( "11111111111111111" )); //显示结果是11111111111111111
echo string2secret( "11111111111111111" ); //显示乱码
|
php经常用的加解密函数,base64_encode,base64_decode。
希望本文所述对大家PHP程序设计有所帮助。