C 凱撒密碼加密解密演算法

2021-08-18 18:00:58 字數 1081 閱讀 5374

一、演算法描述

凱撒密碼的加密解密演算法,邏輯很簡單,就是兩個公式:

比如說下面這個例子的加密解密公式,就是位移量為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。如果是將移動的位...