PHP加密解密实例分析

PHP加密解密实例分析
本文介绍了php的加密解密方法,供大家参考,如下:
加密
功能string2secret($str)
{
$ = 123;
为TD = mcrypt_module_open(mcrypt_des,' ','ecb ',');
四美元= mcrypt_create_iv(mcrypt_enc_get_iv_size($ TD),mcrypt_rand);
KS = mcrypt_enc_get_key_size美元(美元TD);
美元关键= substr(MD5(美元,0美元的关键),KS);
mcrypt_generic_init(美元美元美元的关键,TD,IV);
秘密= mcrypt_generic美元(美元TD,$str);
mcrypt_generic_deinit($ TD);
mcrypt_module_close($ TD);
归还秘密;
}
解密
功能secret2string($秒)
{
$ = 123;
为TD = mcrypt_module_open(mcrypt_des,' ','ecb ',');
四美元= mcrypt_create_iv(mcrypt_enc_get_iv_size($ TD),mcrypt_rand);
KS = mcrypt_enc_get_key_size美元(美元TD);
美元关键= substr(MD5(美元,0美元的关键),KS);
mcrypt_generic_init(美元美元美元的关键,TD,IV);
字符串= mdecrypt_generic美元(美元TD,$秒);
mcrypt_generic_deinit($ TD);
mcrypt_module_close($ TD);
返回修剪($字符串);
}
回声secret2string(string2secret(11111111111111111 ));
结果是11111111111111111 /显示
回声。string2secret(11111111111111111 );
/ /乱码
回声';
/ / $字符串加密字符串isencrypt美元=真=假:解密加密isencrypt美元
功能dencrypt($字符串,isencrypt美元= true,美元关键=key_space ){
如果(!isset($字符串{ 0 })| |!isset($关键{ 0 })){
返回false;
}
dynkey美元=美元isencrypt哈希('sha1,瞬时(真)):substr($字符串,0, 40);
fixedkey =哈希('sha1美元,美元关键);
dynkeypart1美元= substr(dynkey美元,0, 20);
dynkeypart2美元= substr(dynkey美元,20);
fixedkeypart1美元= substr(fixedkey美元,0, 20);
fixedkeypart2美元= substr(fixedkey美元,20);
美元关键=哈希('sha1,dynkeypart1美元。fixedkeypart1美元。dynkeypart2美元。fixedkeypart2美元);
字符串isencrypt fixedkeypart1美元美元美元。为字符串。dynkeypart2美元:(isset($字符串{ 339 })gzuncompress(base64_decode(substr($字符串,40))):substr($字符串)。
$ = 0;
结果=;
$ len = strlen($字符串);
为($ = 0;$ n;
由于美元= CHR(ORD($字符串{ $ n })^ ORD($关键{ $ N % 40 }));
}
返回的isencrypt dynkey美元str_replace(' = ',' ',base64_encode($ n>299 gzcompress($结果):$结果)):substr(美元的结果,20,20);
}
回声strlen(dencrypt(12345678912345 ));
希望本文能对PHP程序设计有所帮助。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部