凯撒密码加密解密C语言详细代码

您所在的位置:网站首页 恺撒密码iqqf 凯撒密码加密解密C语言详细代码

凯撒密码加密解密C语言详细代码

2023-10-15 17:12| 来源: 网络整理| 查看: 265

凯撒密码加密解密C语言详细代码 凯撒密码

又叫循环移位密码.它的加密方法,就是将明文中的每个字母用此字符在字母表中后面第k个字母替代.它的加密过程可以表示为下面的函数: E(m)=(m+k) mod n 其中:m为明文字母在字母表中的位置数;n为字母表中的字母个数;k为密钥;E(m)为密文字母在字母表中对应的位置数. 例如,对于明文字母H,其在字母表中的位置数为8,设k=4,则按照上式计算出来的 密文为L: E(8) = (m+k) mod n = (8+4) mod 26 = 12 = L

解题思路

把一条消息中的每个字母用字母表中固定距离之后的那个字母代替。(如果超越了字母Z,会绕道字母表的起始位置。例如,如果每个字母都用字母表中两个位置之后的字母代替,那么Y就会被替换为A,Z就会被替换为B。),然后编写程序。

#include #include int main() { char passwd[100],encrypted[100]; int i,j,k,t,move,tmp; printf("加密选择1,解密选择2:"); scanf("%d",&tmp); if(tmp==1){ printf("输入原文:"); scanf("%s",&passwd); printf("自定义密匙(1-25):"); scanf("%d",&move); for(i=0; i passwd[i] = ((passwd[i]-'A')+move)%26+'A'; } else if(passwd[i] >= 'a' && passwd[i] printf("输入密文:"); scanf("%s",&passwd); printf("密匙为(1-25):"); scanf("%d",&move); for(i=0; i passwd[i] = ((passwd[i]-'A')+26-move)%26+'A'; } else if(passwd[i] >= 'a' && passwd[i]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3