Heim  >  Artikel  >  Backend-Entwicklung  >  懂PHP且懂点C的大神进来

懂PHP且懂点C的大神进来

WBOY
WBOYOriginal
2016-06-23 13:53:071164Durchsuche

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

void hdth_normal_decode(char * outstr,char * instr){	int   i=0;	int j = 0;	int len = strlen(instr);	for(i=0;i<len;i=i+2)   	{   		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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:求指点PHP里的curl_exec问题Nächster Artikel:搜索框