📄 tcrypt.cpp
字号:
#include <stdlib.h>#include <string.h>#include "TCrypt.h"#include "Des.h"//#include "Base64.h"#include "Coder.h"//const char key[]={0,2,0,0,9,3,5,1,9,8,0,0,9,1,7};const char key[]={0,2,0,0,9,3,5};bool TCrypt::Encrypt(char const * const in, char *out, long outlen){ if(in == NULL || in[0] == '\0' || out == NULL || outlen <= 0) return false; int deslen = ((strlen(in) + 7) / 8) * 8; //计算3Des需要的长度 int baselen = (deslen + 2)/3*4; //计算Base64需要的长度 if(outlen <= baselen) return false; char* ostr = new char[baselen + 1]; if(false == Des_Go(ostr, (char*)in, strlen(in), key, sizeof(key), ENCRYPT)) return false; /* int len = Base64Encod(ostr, strlen(ostr), out); out[len] = '\0'; */ CCoder::base64_encode(ostr, deslen, out); delete [] ostr; return true;}bool TCrypt::Decrypt(char const * const in, char *out, long outlen){ if(in == NULL || in[0] == '\0' || out == NULL || outlen <= 0) return false; if(outlen < (long) strlen(in)) return false; memset(out, '\0', outlen); /* int len = Base64Decod((char*)in, strlen(in), out); out[len] = '\0'; */ int len = CCoder::base64_decode((char*)in , strlen(in), out); out[len] = '\0'; if(false == Des_Go(out, out, len, key, sizeof(key), DECRYPT)) { return false; } return true;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -