#include #include "Encrypt.h" namespace o_o { const char* DEFAULT_KEY = "PASsword"; // 解密 bool Decrypt(unsigned char* buff, unsigned int size, const char* key) { if (key == NULL || key[0] == 0) { key = DEFAULT_KEY; } size_t len = strlen(key); for (size_t i=0;i= 1; --i) { buff[i] = buff[i - 1]; } buff[0] = c; for (unsigned int i=0;i= '0' && ch <= '9') { ch = '9' - ch + '0'; } else if (ch >= 'A' && ch <= 'Z') { ch = 'Z' - ch + 'A'; } ch += keys[i%keySize]; buf[i] = ch; } return true; } // 简单解密 bool DecryptA(unsigned char* buf, unsigned int size, int offset) { if (buf == 0 || size == 0) { return false; } int keySize = offset != 0 ? gKeySize2 : gKeySize1; const int* keys = offset != 0 ? gKeys2 : gKeys1; for (unsigned int i = 0; i < size; ++i) { unsigned char ch = buf[i]; ch -= keys[i%keySize]; if (ch >= '0' && ch <= '9') { ch = '9' - ch + '0'; } else if (ch >= 'A' && ch <= 'Z') { ch = 'Z' - ch + 'A'; } buf[i] = ch; } return true; } }