int Password(const char* str)
{
FILE* pf = NULL;
pf = fopen(str,"rb");
if (pf == NULL)
{
return 0;
}
char buf[MAX_BUFFER_SIZE_PASSWORD] = {0};
int len = 0;
fseek(pf,0,SEEK_END );
len = ftell(pf);
char bufw[MAX_BUFFER_SIZE_PASSWORD] = {0};
if (len > MAX_BUFFER_SIZE_PASSWORD)
{
return 0;
}
rewind(pf);
fread(buf,1,len,pf);
for (int i = len;i>=0;i--)
{
bufw[i] = (buf[i]>>6&3) | ((buf[i]>>4&3)<<6) | ((buf[i] & 0xc) | (buf[i]&3)<<4);
}
fclose(pf);
FILE* pfw = NULL;
string strFileName = "解密";
strFileName += str;
pfw = fopen(strFileName.c_str(),"w+b");
if (pfw == NULL)
{
return 0;
}
fwrite(bufw,1,len,pfw);
fclose(pfw);
return 1;
}