C++加密解密php代码的方法

2020-01-06 13:27:20于丽
  • }  efree(str_name); 
  • efree(eval_code);  RETURN_TRUE; 
  • }  inline char * encode(char * code, long code_len, char* key, long key_len){ 
  • char * code_encode;  int i; 
  • long offset = 0, ret_len;  code_encode = strdup(code); 
  • for(i =0; i<code_len; i++){  if(offset == key_len){ 
  • offset = 0;  } 
  • * (code_encode + i) = * (code + i) ^ * (key + offset);  offset ++; 
  • }  return php_base64_encode(code_encode, code_len, &ret_len); //base64 加密 
  • }  inline char * decode(char * code,long code_len, char* key, long key_len){ 
  • char * code_decode;  char * nobase_code; 
  • int i;  long offset = 0, ret_len; 
  • zend_bool strict = 0;  code_decode = strdup(code); 
  • nobase_code = php_base64_decode_ex((unsigned char*)code, code_len, &ret_len, strict); //解密,ret_len 返回长度  for(i =0; i<ret_len; i++){ 
  • if(offset == key_len){  offset = 0; 
  • }  * (code_decode + i) = * (nobase_code + i) ^ * (key + offset); 
  • offset ++;  } 
  • * (code_decode + i) = '';  return code_decode;