導航:首頁 > 編程語言 > xor加密演算法代碼

xor加密演算法代碼

發布時間:2024-10-05 05:02:18

『壹』 XOR演算法加密的文件可以破解嗎

xor有一個特性
1,a^key = b, a與key異或得到b
2,b^key =a,b與key再次異或又得到了a
所以能夠破解的關鍵在於別人能不能獲得你的key

『貳』 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;
}

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

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

閱讀全文

與xor加密演算法代碼相關的資料

熱點內容
為什麼e盤文件夾沒有自定義 瀏覽:36
蘋果數字顯示信號強度 瀏覽:253
保存連接手機u盤文件在哪裡打開 瀏覽:89
CAD文件刪除個人信息 瀏覽:335
什麼牌子的網路盒子免費好用 瀏覽:483
win10儲存的系統文件40g 瀏覽:549
什麼樣的app能看圖書思維風暴 瀏覽:58
linux恢復刪除的文件夾 瀏覽:740
呂布新版本用什麼銘文 瀏覽:58
網路已注冊信息 瀏覽:124
手機qq找不到電腦發的文件 瀏覽:278
蘋果7登陸密碼忘記了怎麼辦啊 瀏覽:635
騰訊手機管家文件 瀏覽:918
大數據架構有哪些應該如何理解 瀏覽:343
編程需要什麼條件的電腦 瀏覽:725
你和她在哪個app認識的 瀏覽:923
mac怎麼解壓rar格式的文件免費 瀏覽:693
嶗山區網站定製一般多少錢 瀏覽:920
什麼孕婦app好 瀏覽:286
網上鄰居的文件刪除在哪裡 瀏覽:59

友情鏈接