一、演算法描述
凱撒密碼的加密解密演算法,邏輯很簡單,就是兩個公式:
比如說下面這個例子的加密解密公式,就是位移量為3時的結果
加密公式 f(a)=(a+3) mod 26
解密公式 f(a)=(a+23) mod 26
是不是很簡單?你可能會問,什麼是模運算,如何用程式語言來表達出來?
沒關係,下面會有詳細的**來說明問題。
二、具體**
凱撒密碼.c
#include
#include
#include
#include
#define n 100
using namespace std;
//凱撒密碼
//加密公式 f(a)=(a+3) mod 26
//解密公式 f(a)=(a+23) mod 26
void psw(char *stri,int numb,int model);//加密公式函式
void unpsw(char *stri,int numb,int model);//解密公式函式
char getw(int i);//字母表
int main()
}return 0;
}void psw(char *stri,int numb,int model)
else if(stri[i] >= 'a' && stri[i] <= 'z')
}cout<
else
}void unpsw(char *stri,int numb,int model)
else if(stri[i] >= 'a' && stri[i] <= 'z')
}cout<
else
}自我感覺**的邏輯和格式,那是很好的。
三、實驗結果
廢話不多說直接上圖。
只要先加密,把加密後的密文反過來用解密演算法解密,如果得到的明文和原來的明文是一樣的。
那就基本上可以說明演算法沒問題。
沒毛病的演算法。
凱撒密碼,凱撒加密解密
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...
凱撒密碼 C語言 加密解密
凱撒加密 caesarcipher 是一種簡單的訊息編碼方式 它根據字母表將訊息中的每個字母移動常量位k。舉個例子如果k等於3,則在編碼後的訊息中,每個字母都會向前移動3位 a會被替換為d b會被替換成e 依此類推。字母表末尾將回卷到字母表開頭。於是,w會被替換為z,x會被替換為a。如果是將移動的位...