柵欄加密演算法 C 實現

2021-09-05 17:57:33 字數 1069 閱讀 2707

柵欄的原理也很簡單

大概步驟:

1.將明文去空格處理

2.將得到的串每key個字元分割成key列矩陣

3.按列遞增開始讀取得到的串

4.插入空格

舉例說明:

假設key為3,明文為:

ab cd ef
1.去空格

abcdef
2.分割

123

1abc

2def

3.按列讀取

adbecf
4.插入空格

ad be cf
#include #include #include using namespace std;

string fenceencrypt(string s, int key)

for (int i = 0; i < key; i++)

for (int j = i; j < primal.size(); j += key)

result.push_back(primal[j]);

if(a.size())

for (int i = 0, t = 0; i < s.size(); i++)

} return result;

}int main()

C 實現DES加密 演算法

我的第一篇部落格就是 c語言實現des加密 今天重寫的時候發現好像 傳錯了,有些尷尬,其中有各種奇怪的問題 問題1.好多表,包括s盒之類的寫成char型別了,應該寫int型別才對 問題2.好多變數沒宣告就用了 問題3.為啥我當時要寫這麼多static?問題4.沒標頭檔案,全擠在cpp裡面了 更新修復...

IDEA加密演算法 c實現

vs2013環境下面成功編譯並且執行 idea演算法,全稱是internationale data encrypt algorithm 一種國際資料加密演算法 至今為止都很安全,是一種塊加密演算法。金鑰長度為128bit 16位元組 以每64bit 8位元組 為單位進行加密。演算法主要流程 1.首先...

C AES加密演算法實現

密碼學中的高階加密標準 advanced encryption standard,aes 又稱rijndael加密法,是美國聯邦 採用的一種區塊加密標準。這個標準用來替代原先的des,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高階加密標準由美國國家標準與技術研究院 nist 於2001年...