当前位置:Gxlcms > PHP教程 > 懂PHP且懂点C的大神进去

懂PHP且懂点C的大神进去

时间:2021-07-01 10:21:17 帮助过:55人阅读

懂PHP且懂点C的大神进来
这是个客户端C版本的解密函数,我需要一个PHP版本的加密函数,麻烦下大神,


void hdth_normal_decode(char * outstr,char * instr)
{
int i=0;
int j = 0;
int len = strlen(instr);
for(i=0;i {
int h=(instr[i]-'c');
int l=(instr[i+1]-'f');
char c=(l<<4)+(h&0xf);
outstr[j]=c;
j++;
}

return;
}


给个原文转为密文的例子:


原文:www.comunits.net
密文:jmjmjmqhflrlplhmqlllgmfmqhqlhlgm

------解决方案--------------------
先移植解密函数到 php
function hdth_normal_decode($in) {
$out = '';
$len = strlen($in);
for($i=0; $i<$len; $i+=2) {
$h = ord($in{$i}) - ord('c');
$l = ord($in{$i+1}) - ord('f');
$c = ($l << 4) + ($h & 0xf);
$out .= chr($c);
}
return $out;
}
然后求其逆运算
function hdth_normal_encode($in) {
$out = '';
$len = strlen($in);
for($i=0; $i<$len; $i++) {
$c = ord($in{$i});
$l = ($c >> 4) + ord('f');
$h = ($c & 0xf) + ord('c');
$out .= chr($h) . chr($l);
}
return $out;
}
测试一下
echo hdth_normal_encode('www.comunits.net');
jmjmjmqhflrlplhmqlllgmfmqhqlhlgm

人气教程排行