把下面的代码编译成一个可执行的控制台程序,加入名称为genf.exe
执行genf e xxxx.dat,加密文件
执行genf d xxxx.txt, 还原文件
做这个东西的主要目的是在这个Blog没有找到哪里可以上传文件
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BASE64CHAR( ch ) ( (((ch)>='a')&&((ch)<='z')) || /
(((ch)>='A')&&((ch)<='Z')) || /
(((ch)>='0')&&((ch)<='9')) || /
((ch)=='+') || ((ch)=='/') || ((ch)=='='))
void Base64Encode( void* pSrc, int nLen, char* pObj )
{//pObj的长度需要(nLen+2)/3 * 4 +1 ,最后会填0
static char Base64EnTAB[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
int i;
int count = nLen / 3;
unsigned char *psSrc = (unsigned char*) pSrc;
unsigned char *pszObj = (unsigned char *)pObj;
unsigned char ch1,ch2,ch3;
for( i = 0 ; i < count ; i ++ )
{
ch1 = *psSrc ++;
ch2 = *psSrc ++;
ch3 = *psSrc ++;
*pszObj ++ = ch1 >> 2;
*pszObj ++ = ((ch1<<4)|(ch2>>4)) & 0x3f;
*pszObj ++ = ((ch2<<2)|(ch3>>6)) & 0x3f;
*pszObj ++ = ch3 & 0x3f;
}
count = nLen - (psSrc - (unsigned char *)pSrc);
if( count == 1 || count == 2)
{
ch1 = *psSrc ++;
if( co