導航:首頁 > 文檔加密 > c語言異或運算加密

c語言異或運算加密

發布時間:2023-07-27 20:34:42

① C語言怎樣給文件加密

fopen2進制方法打開文件,整體位移循環1定位數,然後存儲。解密也遵守這個原理便可。

② C語言 文件異或加密

異或加密是所有加密中最容易實施且代碼量相對精簡的一種加密方式,其原理為任意數據被同一個值(key)兩次異或後,值不變。

這種特性,使得異或加密演算法的加解密流程是完全相同的,也就是說加解密可以用同一個函數實現。


一、演算法思路。

依次讀入文件字元,並用key值對其異或,結果輸入到目標文件中。

二、演算法描述。

1 打開源文件及目標文件。

2 獲取密鑰值(key)。

3 讀入一個字元。

4 對其進行異或計算。

5 結果寫入目標文件。

6 重復3-5直到文件結尾。

7 關閉文件。

三、代碼實現。

為使代碼簡潔易懂,輸入文件設定為in.txt, 輸出文件設定為out.txt, key值設定為0x5C。

假定所有文件及目錄可讀寫。

#include<stdio.h>
#defineIN"in.txt"
#defineOUT"out.txt"
#defineKEY0x5C
voidscrambler(constchar*in,constchar*out,unsignedcharkey)
{
FILE*i,*o;
intc;

i=fopen(in,"rb");
o=fopen(out,"wb");//打開文件,因為假定可讀寫,所以對是否成功不做判斷
while((c=fgetc(i))!=EOF)//讀入字元直到文件結尾
{
c^=key;//執行異或加密或解密
fputc(c,o);//寫入文件
}

fclose(i);
fclose(o);
}

intmain()
{
scrambler(IN,OUT,KEY);
return0;
}

但是異或加密也是有缺陷的。最大的缺陷是加密操作是二進制層面的,獲取到的加密文件大部分將是不可讀的亂碼。這也是為什麼在打開文件的時候要以二進制方式的原因。

鑒於此,在此不便給出測試樣例及輸入輸出,可自行調試。

③ C語言設計一個簡單的加密解密程序

C語言設計一個簡單的加密解密程序如下:
加密程序代碼:
#include<stdio.h>
main()
{
char c,filename[20];
FILE *fp1,*fp2;
printf("請輸入待加密的文件名:\n");
scanf("%s",filename);
fp1=fopen(filename,"r");
fp2=fopen("miwen.txt","w");
do
{
c=fgetc(fp1);
if(c>=32&&c<=126)
{
c=c-32;
c=126-c;
}
if(c!=-1)
fprintf(fp2,"%c",c);
}
while(c!=-1);
}
解密程序代碼:
#include<stdio.h>
#include<string.h>
main()
{
char c,filename[20];
char yanzhengma[20];
FILE *fp1,*fp2;
printf("請輸入待解密文件名:\n");
scanf("%s",filename);
printf("請輸入驗證碼:\n");
scanf("%s",yanzhengma);
if(strcmp(yanzhengma,"shan")==0)
{
fp1=fopen(filename,"r");
fp2=fopen("yuanwen.txt","w");
do
{
c=fgetc(fp1);
if(c>=32&&c<=126)
{
c=126-c;
c=32+c;
}
if(c!=-1)
fprintf(fp2,"%c",c);
}
while(c!=-1);
}
else
{
printf("驗證碼錯誤!請重新輸入:\n");
scanf("%s",filename);
}
}

④ 異或加密與解密(C語言)注釋

異或運算有一個特性


c = a xor b
那麼
a = c xor b

根據這樣的特性,你有一個信息a,然後你產生一個密碼b,把它和a異或運算之後就變成了c。這就是一種加密,解密的時候,把c重新和b異或運算,就變回了a。

順帶說一下,異或是很弱的加密方法,很容易被破解的。

閱讀全文

與c語言異或運算加密相關的資料

熱點內容
釣魚黑坑下什麼app 瀏覽:938
windows軟體編譯為linux程序 瀏覽:270
方舟編譯支持應用 瀏覽:422
華為雲伺服器可以遠程別的電腦嗎 瀏覽:7
單片機百度百科 瀏覽:230
安卓回聲效果發簡訊怎麼弄 瀏覽:166
windows7文件夾屬性沒有位置 瀏覽:949
單片機632什麼意思 瀏覽:119
奢侈品哪個app買最便宜 瀏覽:665
編譯原理意思 瀏覽:329
哪裡下載帶有加密版志願二維碼 瀏覽:393
python讀串口 瀏覽:171
Pdf修改文本 瀏覽:660
電力行業縱向加密技術原理 瀏覽:49
活塞壓縮機基礎 瀏覽:706
么解手機的壓縮包 瀏覽:767
如何開通加密貨幣 瀏覽:148
北京修理伺服器雲主機 瀏覽:204
python程序設計主要思路 瀏覽:897
jar包通過如何在伺服器運行 瀏覽:378