当前位置:首页 » 操作系统 » 凯撒算法

凯撒算法

发布时间: 2022-01-29 13:02:14

⑴ 用C#实现凯撒密码算法。急急急!!

告诉我邮箱我把程序发给你

⑵ 凯撒算法的问题

第一次回答可获2分,答案被采纳可获得悬赏分和额外20分奖励。#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

#define MAX_SIZE 100 /*最大字符数*/

void encrypt()
/*加密算法*/
{
char code[MAX_SIZE] = "\0";
int j= 0, k = 0;

printf("\n请输入明文:\n");
fflush(stdin);

gets(code);
printf("\n请输入密钥:");
scanf("%d", &k);

while(code[j] != '\0')
{
if(code[j] >= 'a' &&code[j] <= 'z')
//小写字母加密
{
code[j] = (code[j]-'a'+k)%26+'a';
}
else if(code[j] >= 'A' &&code[j] <= 'Z')
//大写字母加密
{
code[j] = (code[j]-'A'+k)%26+'A';
}
j++;

}
printf("\n对应的密文:\n%s\n", code);
}

void decrypt()
/*解密算法*/
{
char code[MAX_SIZE] = "\0";
int j= 0, k = 0;

printf("\n请输入密文:\n");
fflush(stdin);

gets(code);
printf("\n请输入密钥:");
scanf("%d", &k);

while(code[j] != '\0')
{
if(code[j] >= 'a' &&code[j] <= 'z')
//小写字母解密
{
code[j] = (code[j]-'a'-k+26)%26+'a' ;
}
else if(code[j] >= 'A' &&code[j] <= 'Z')
//大写字母解密
{
code[j] = (code[j]-'A'-k+26)%26+'A' ;
}
j++;

}
printf("\n对应的明文:\n%s\n", code);
}

void main(void)
{

int flag = 1;

while(flag)
{
printf("\n请选择:\n1.加密;\n2.解密;\n0.退出;\n");
scanf("%d", &flag);

switch(flag)
{
case 1:
encrypt();/*加密函数*/
break;

case 2:
decrypt();/*解密函数*/
break;
default :
break;
}
}
}

运行过程如下:

⑶ C语言!凯撒算法(只加密)的源代码

凯撒密码的原理是字母与字母之间的替换。例如26个字母都向后移动K位。若K等于2,则A用C代替,B用D代替,以此类推。

#include<stdio.h>
#include<conio.h>
intmain(){
intkey;
charmingma,mima;
printf(" Pleaseinputthecharacter:");
scanf("%c",&mingma);//输入明码
printf(" Pleaseinputthekey:");
scanf("%d",&key);//输入秘钥
if((mingma>='A')&&(mingma<='Z'))
mima='A'+(mingma-'A'+key)%26;//大写字母移位
elseif((mingma>='a')&&(mingma<='z'))
mima='a'+(mingma-'a'+key)%26;//小写字母移位
printf(" Theoutputis:%c",mima);//输出密码
printf(" Finished! ");
getch();
return0;
}

⑷ jmu-python-凯撒密码加密算法,谢谢

def encryption():
str_raw = input("请输入明文:")
k = int(input("请输入位移值:"))
str_change = str_raw.lower()
str_list = list(str_change)
str_list_encry = str_list
i = 0
while i < len(str_list):
if ord(str_list[i]) < 123-k:
str_list_encry[i] = chr(ord(str_list[i]) + k)
else:

print ("解密结果为:"+"".join(str_list_decry))
while True:
print (u"1. 加密")
print(u"2. 解密")
choice = input("请选择:")
if choice == "1": encryption()
elif choice == "2": decryption()
else: print (u"您的输入有误!")

⑸ 凯撒算法是对称加密算法还是非对称加密算法为什么

属于对称加密算法

凯撒算法属于古典密码,是对称加密算法最简单的形式

⑹ 凯撒算法是属于对称加密算法吗

最早的公钥算法是有凯撒大帝发明的,所以也叫凯撒算法,凯撒算法是很简单的算法,它的学名是“单表替换算法”。就如同这个算法名称的字面意思一样,他把一个字母替换成另一个字母,比如:把 "a" 替换成 "b", "c" 替换成 "d" 以此类推, 直到把 "z" 替换成 "a",这里每个字母都备下一个字母替换,所以密钥就是1(如果密钥是2则把 "a" 替换成 "c")。
它不是对称加密算法!

⑺ 请采用凯撒加密算法对以下明文进行加密,密钥K=3,请写出密文

Tb tfii doxarxqb colj qeb rkfsbopfqv xcqbo clro vbxop exoa pqrav
恺撒密码


恺撒方阵

⑻ 有谁知道凯撒算法是怎么回事啊

凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。他的原理很简单,说到底就是字母于字母之间的替换。下面让我们看一个简单的例子:“”用凯撒密码法加密后字符串变为“edlgx”,它的原理是什么呢?把“”中的每一个字母按字母表顺序向后移3位,所得的结果就是刚才我们所看到的密文。

#include <stdio.h>
main()
{
char M[100];
char C[100];
int K=3,i;
printf("请输入明文M(注意不要输入空白串)\n");
gets(M);

for(i=0;M[i]!='\0';i++)
C[i]=(M[i]-'a'+K)%26+'a';
C[i]='\0';

printf("结果是:\n%s\n",C);
}

⑼ 设明文m为:meet anna after this meeting,凯撒密码算法中使用密钥k=3,加密后密文是什么

将26个恺撒密表合成一个,见下表:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A -A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B -B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C-C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D- D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E -E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F -F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G- G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H -H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I- I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J -J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K -K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L -L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M -M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N -N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O -O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P -P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q -Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R -R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S -S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T -T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U -U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V -V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W -W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X -X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y -Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z -Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

根据这个你那个密文应该是OGGV CPPC CHVGT VJKU OGGVKPI

⑽ 求解凯撒密码算法的题目

C的编程思路,其它的语言不会
1,用for循环,实现一维数组a【】,从第一个输入到第六个字母,然后再用for循环把a【】从0到5都减29,赋值到b【】,把数组b以字符变量输出
2,同理,把密文加29,然后以字符变量输出
具体程序不难,我这里没有c编译软件。。。。。

热点内容
绿色linux 发布:2024-11-14 12:56:11 浏览:349
游戏本缓存 发布:2024-11-14 12:55:28 浏览:649
微软提供的编译软件 发布:2024-11-14 12:55:16 浏览:17
长沙java培训机构哪家好 发布:2024-11-14 12:40:53 浏览:228
外存储器硬盘能存储的高清电影数 发布:2024-11-14 12:33:23 浏览:265
python分号作用 发布:2024-11-14 12:31:50 浏览:223
方舟编译器下载要钱吗 发布:2024-11-14 12:29:20 浏览:62
jspoa源码 发布:2024-11-14 12:21:31 浏览:420
不记得了密码怎么办 发布:2024-11-14 12:18:58 浏览:442
python字符串的大小 发布:2024-11-14 12:17:24 浏览:222