當前位置:首頁 » 操作系統 » 凱撒演算法

凱撒演算法

發布時間: 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編譯軟體。。。。。

熱點內容
資料庫設計模板 發布:2024-11-15 00:47:25 瀏覽:825
編程的悟性 發布:2024-11-15 00:47:24 瀏覽:733
主流可編譯語言 發布:2024-11-15 00:42:23 瀏覽:729
excel緩存清除 發布:2024-11-15 00:39:53 瀏覽:486
機械鍵盤可編程 發布:2024-11-15 00:39:09 瀏覽:912
php判斷字元開頭 發布:2024-11-15 00:35:33 瀏覽:507
網易蘋果游戲怎麼轉移到安卓 發布:2024-11-15 00:07:52 瀏覽:270
win7php環境搭建 發布:2024-11-15 00:06:55 瀏覽:17
erpjava 發布:2024-11-14 23:52:23 瀏覽:253
電腦版地平線四怎麼連上伺服器 發布:2024-11-14 23:46:42 瀏覽:472