PHP加密解密功能代码,具有时效性

复制代码代码如下所示:
< PHP
功能encode_pass($号,$键,type =编码美元
chrarr美元=阵列(A,B,C,D,E,F,G,H,我,J,k)
A,B,C,D,E,F,G,H,J,i,k,L。
0,1,2,3,4,5,6,7,8,9);
如果($ = 解码){
如果(strlen($号)< 14)返回false;
verity_str美元= substr($号,0.8);
tex = substr(美元美元特克斯,8);
如果(verity_str美元!= substr(MD5($号),0.8){
完整性验证失败
返回false;
}
}
key_b美元= = = $型解码substr($特克斯0,6):$ chrarr {兰特(62美元)}。chrarr {兰德()% 62 },{ rand()% chrarr美元62美元}。chrarr {兰德()% 62 } {兰德chrarr美元。()% 62 } { rand()chrarr美元;

rand_key = key_b美元美元美元的关键;
设置时间选项
modnum美元= 0美元= 0美元;modcount;modcountstr = ;
如果($过期> 0){
如果($ = 解码){
modcountstr美元= substr($号,6,1);
modcount美元美元= = = modcountstr 10楼($ modcountstr);
modnum美元= substr($号,7,modcount美元);
rand_key = rand_key美元美元。((((()-地板时间modnum美元/美元)到期)));
其他{ }
modnum美元=()% $到期时间;
modcount美元= strlen($ modnum);
modcountstr美元美元modcount = = = 10 :modcount美元;

rand_key = rand_key美元美元。(楼层(时间)有效期);
}
tex =类型= =美元美元的解码base64_decode(substr($号,((((7 + $ modcount))):徐贵。$号;
其他{ }
tex =类型= =美元美元的解码base64_decode(substr($号,6)):徐贵。$号;
}
rand_key美元= MD5($ rand_key);


texlen美元= strlen($号);
reslutstr美元= ;
为($我= 0;美元美元美元我<< texlen;i++){
reslutstr美元美元美元。= {我} ^特克斯美元rand_key { $我% 32 };
}
如果($类型)!=解码){
reslutstr美元=装饰(base64_encode($ reslutstr),= =);
reslutstr美元美元美元美元= modcount modcountstr。modnum美元reslutstr:reslutstr美元;
reslutstr美元= key_b reslutstr美元美元;
reslutstr美元= substr(MD5($ reslutstr),reslutstr美元0.8);
其他{ }
如果(substr(reslutstr美元,0, 5)!=徐贵){
返回false;
}
reslutstr美元= substr(reslutstr美元,5);
}
返回的reslutstr;
}
PSA = encode_pass美元(沃氏侧室勇德
回声$ PSA;
解密:;
回声encode_pass($ PSA,taintainxousad
>
功能是时效性的,只要过期就不能破译!加密和加密后的数据多样化,通过时间动态加密增加了破解的难度。