凯撒密码
- 介绍
首先我们先了解什么是凯撒密码?
凯撒密码是一种替换加密方法,举个简单的例子:
明文:holle world
密文:ipmmf xpsme
就是简单的将字母表往后移动一位。
对应上图的编码表我们可以很容易得出加密or解密的公式:
n代表密匙,解密与加密的区别是n的符号.
- 代码
#include <iostream> #include <cmath> #include <string.h> using namespace std; //加密 int main() { char a[105],ch; int k; cout<<"密匙 k : "; cin>>k; cout<<"明文 : "; cin>>a; for(int i=0; i<strlen(a); i++) { if(a[i]<='z'&&a[i]>='a') { cout<<(char)((a[i]-'a'+k)%26+'a'); } else if(a[i]<='Z'&&a[i]>='A') { cout<<"密文 : "; cout<<(char)((a[i]-'A'+k)%26+'A'); } } return 0; }//解密 #include <iostream> #include <cmath> #include <string.h> using namespace std; int main() { char a[105],ch; int k; cout<<"密匙k:"; cin>>k; cout<<"密文 :"; cin>>a; for(int i=0; i<strlen(a); i++) { if(a[i]<='z'&&a[i]>='a') { cout<<(char)((a[i]-'a'+26-k)%26+'a'); } else if(a[i]<='Z'&&a[i]>='A') { cout<<"明文 : "; cout<<(char)((a[i]-'A'+26-k)%26+'A'); } } return 0; }本章未完待续,下次再更新.
版权声明:本文为qq_41793276原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。