c文件加密异或
把
j=strlen(password);
ch=fgetc(fp1);
while(!feof(fp1))
for(i=0;i<j;i++)
{ fputc(ch^password[i],fp2);
ch=fgetc(fp1);
}
改成下面的试试
j=strlen(password);
while(!feof(fp1))
{
ch = fgetc(fp1);
fputc(ch^password[i++], fp2);
if(i == j)
i = 0;
}
⑵ 在java中用异或为各种形式的文件加密
对文件的每个字节进行xor运算即可
byte b=//从文件读取
byte k=50; //密键
fout.write(b^k);//写到加密文件中
⑶ 编程实现文件的加密,将t X T文件F i l e1中的每每个字符与0X4c异或变成另一字符显示
文件1 名字存于 namein, 输出文件名 nameout。
用2进制方法打开文件,用2进制方法读写文件。读1个字符,输出 1个它的异或字符,直到文件结束。 c 语言程序如下。
#include <stdio.h>
int main(){
FILE *fp, *fout;
char namein[80]="in.txt", nameout[80]="out.txt";
static char c,c2;
fp = fopen(namein,"rb");
fout = fopen(nameout,"wb");
while(1){
if (fread (&c,1,1,fp)!=1) break;
c2= c ^ 0x4c;
fwrite(&c2,1,1,fout);
}
fclose(fp); fclose(fout);
return 0;
}
⑷ 什么是异或加密
异或的特点是原始值经过两次异或某一个数后会变成原来的值,所以有时利用这个特性来进行加密,加密端把数据与一个密钥进行异或操作,生成密文。接收方收到密文后利用加密方提供的密钥进行再次异或操作就能得到明文。loop是汇编语言中的循环指令。它对cx进行减1,如果不为0则跳到循环首部继续执行循环体。如果为0,执行loop的下一条指令。
⑸ 异或加密与解密(C语言)注释
异或运算有一个特性
若
c = a xor b
那么
a = c xor b
根据这样的特性,你有一个信息a,然后你产生一个密码b,把它和a异或运算之后就变成了c。这就是一种加密,解密的时候,把c重新和b异或运算,就变回了a。
顺带说一下,异或是很弱的加密方法,很容易被破解的。