凱撒加密(caesarcipher)是一種簡單的訊息編碼方式:它根據字母表將訊息中的每個字母移動常量位k。
舉個例子如果k等於3,則在編碼後的訊息中,每個字母都會向前移動3位:
a會被替換為d;b會被替換成e;依此類推。字母表末尾將回卷到字母表開頭。
於是,w會被替換為z,x會被替換為a。
如果是將移動的位數用隨機數進行代替,並且記錄下該隨機數,則破解密碼的難度將大大增加。
利用ascii碼 來計算對應密文
利用陣列下標 計算對應密文 (簡潔)
利用雙向鍊錶和指標
#include
#include
int main ();
char big_letter[26]=;
char text[1000],result[1000];
int c,count=0,k,p;
char function;
printf("insert text:");
c=getchar();
while(1) //讀取字串
printf("\n");
printf("encrypt or decrypt? e or d :");
scanf("%c",&function);
if (function == 'e')
//找出加密後字元在字元陣列裡的對應位置
else
if (text[i]>='a'&&text[i]<='z')
else result[i]=text[i];
printf("%c",result[i]);
}}else
//找出解密後字元在字元陣列裡的對應位置
//這裡要注意不要讓它超出範圍(下表位置為負數)
else
if (text[i]>='a'&&text[i]<='z')
else result[i]=text[i];
printf("%c",result[i]);
}printf("\n");
}return0;}
// vero's code
凱撒密碼解密加密(C語言)
一 凱撒密碼 在密碼學中,愷撒密碼 英語 caesar cipher 或稱愷撒加密 愷撒變換 變換加密,是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母表上向後 或向前 按照乙個固定數目進行偏移後被替換成密文。例如,當偏移量是3的時候,所有的字母a將被替換成d,b...
凱撒密碼,凱撒加密解密
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...
凱撒密碼加密解密
加密方法 凱撒密碼需要事先設定乙個偏移量值 如 3,4,5等 然後將自己明文中每個字母加上該偏移量轉變為另一字母 如偏移量為3,a字母轉變為d字母 加密程式 string encrypt string mingwen,int k else if mingwen i a mingwen i z els...