一个异或加密方案--C语言实现

核心代码:

char encrypt( char f , char c)
{
	return f^c;
}

 int OutEncrypt( char *FilePath, char *SecretWord )
{
	FILE *  fp ;
	FILE * fp1;
	char *p= FilePath , *s= SecretWord;
	//char fn[128], *p = fn, ps[10], *s = ps;   //fn[128]存放加密文件路径,ps[10]存放密码
	char ch;
	char *tm = "C:\\temp.temp";   //存放临时文件

	if(( fp = fopen(p,"rb") )== NULL || ( fp1 = fopen(tm,"wb") ) == NULL )
	{
		return 0;    //加密失败
	}

	ch = fgetc(fp);
	while( !feof(fp) )
	{
		s = SecretWord;
		while( *s != '\0' )
		{
			ch = encrypt( ch, *s++ );
			fputc( ch, fp1 );
			ch = fgetc(fp);
		}
	}
	fclose( fp );
	fclose( fp1);
	remove(p);
	rename(tm, p);

	return 1;   //加密成功
}

可以将此加密方案做成.dll格式用于其它项目使用,如:C#,Windows编程,MFC编程中

创建.dll工程下载地址:http://download.csdn.net/detail/qq2399431200/6274867







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值