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