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。
順帶說一下,異或是很弱的加密方法,很容易被破解的。