很好的 C++加密算法
优点就是同一个源文件,通过同一个密匙加密后得到的密文不相同。这样增加
了破译难度。
#include <iostream>
#include <ctime>
#include <cstdlib>
char* substr(const char* _str, int pos, int len)
{
static char ptr[10];
memcpy(ptr, _str+pos-1, len);
ptr[len] = ' ';
return ptr;
}
//加密函数
string EncrypKey(const char* src, const char* key)
{
int KeyPos = -1;
int SrcPos = 0;
int SrcAsc = 0;
time_t t;
int KeyLen = strlen(key);
if(KeyLen == 0)
return "";
srand((unsigned) time(&t));
int offset = rand() % 255;
char buff[3];
sprintf(buff, "%1.2x", offset);
string dest = buff;
for(int i = 0; i < strlen(src); i++)
{
SrcAsc = (src[i] + offset) % 255;
if (KeyPos < KeyLen-1)
KeyPos++;
评论0