def
secret()
:#加密過程
str=
input
("請輸入明文:"
) str_list =
list
(str
) k_list =
[x for x in
input
("請輸入金鑰流:"
).split()]
#輸入金鑰流,以空格為間隔
#print(k_list)
for i in
range
(len
(str_list)):
#判斷輸入金鑰為數字或者大小寫字母
a = i %
len(k_list)
if k_list[a]
.isdigit():
k =int(k_list[a]
)elif
64<
ord(str_list[a]
)<91:
k =ord(k_list[a])-
ord(
'a')
elif
96<
ord(k_list[a]
)<
123:
k =ord(k_list[a])-
ord(
'a')
else
:print
("非法字元"
)breakif(
96<
ord(str_list[i]
)<
123)
: str_list[i]
=chr((
ord(str_list[i])-
ord(
'a')
+ k)%26
+ord
('a'))
elif(64
<
ord(str_list[i]
)<91)
: str_list[i]
=chr((
ord(str_list[i])-
ord(
'a')
+ k)%26
+ord
('a'))
else
: str_list[i]
= str_list[i]
for i in
range
(len
(str_list)):
print
(str_list[i]
,end="")
print
(" "
)def
deciphering()
:#解密過程
str=
input
("請輸入密文:"
) str_list =
list
(str
) k_list =
[x for x in
input
("請輸入金鑰流:"
).split()]
#輸入金鑰流,以空格為間隔
#print(k_list)
for i in
range
(len
(str_list)):
#判斷輸入金鑰為數字或者大小寫字母
a = i %
len(k_list)
if k_list[a]
.isdigit():
k =int(k_list[a]
)elif
96<
ord(k_list[a]
)<
123:
k =ord(k_list[a])-
ord(
'a')
elif
64<
ord(str_list[a]
)<91:
k =ord(k_list[a])-
ord(
'a')
else
:print
("非法字元"
)break
if96
<
ord(str_list[i]
)<
123:
str_list[i]
=chr((
ord(str_list[i])-
ord(
'a')
- k +26)
%26+ord
('a'))
elif
64<
ord(str_list[i]
)<91:
str_list[i]
=chr((
ord(str_list[i])-
ord(
'a')
- k +26)
%26+ord
('a'))
else
: str_list[i]
= str_list[i]
for i in
range
(len
(str_list)):
print
(str_list[i]
,end="")
print
(" "
)#主函式
control =
'y'while control ==
'y':
moudle =
input
("加密輸入s,解密輸入d:"
)if moudle ==
's':
secret(
)#加密
control =
input
("繼續操作輸入y,退出輸入n:"
)elif moudle ==
'd':
deciphering(
)#解密
control =
input
("繼續操作輸入y,退出輸入n:"
)else
:print
("輸出錯誤!"
) control =
input
("繼續操作輸入y,退出輸入n:"
)
古典密碼 python實現凱撒密碼
def secret str input 請輸入明文 k int input 請輸入移位 str list list str i 0 for i in range len str list if 96 ord str list i 123 str list i chr ord str list i ...
密碼學課設實驗 古典密碼c 實現
一 實驗目的 通過實現簡單的古典密碼演算法,理解密碼學的相關概念如明文 plaintext 密文 ciphertext 加密金鑰 encryption key 解密金鑰 decryption key 加密演算法 encryption algorithm 解密演算法 decryption algori...
python實現尼姆遊戲
尼姆遊戲,這是乙個著名的遊戲,有很多變種玩法。兩個玩家輪流從一堆物品中拿走一部分。在每一步中,玩家可以自由選擇拿走多少物品,但是必須拿走一部並且最多只能拿走一半物品,然後輪到下乙個玩家。拿走最後乙個物品的玩家輸掉遊戲。先手隨機。sur bin nve python coding utf 8 impo...