根據金鑰以不同方式加密訊息,金鑰是從0到25的整數。
將明文通過有序替換的方式變成密文,
及將明文在密文字典的位置加上金鑰數值後鎖定密文字典裡的新文字就成了密文。
此方法缺點就是當知道了字典後可以嘗試暴力破解。
# 密文字典
global letters
letters =
'abcdefghijklmnopqrstuvwxyz'
# 加密演算法
defcliper
(msg,mode,key)
: msg = msg.upper(
) translated =
''for symbol in msg:
if symbol in letters:
num = letters.find(symbol)
if mode ==
'encrypt'
: num = num + key
elif mode ==
'decrypt'
: num = num - key
if num >=
len(letters)
: num = num -
len(letters)
elif num <0:
num = num +
len(letters)
translated = translated + letters[num]
else
: translated = translated + symbol
return translated
# 明文加密
message =
'this is my secret message.'
# 金鑰為13
translated = cliper(message,mode =
'encrypt'
,key =13)
print
(translated)
# 密文解密
clipertxt = translated
txt = cliper(clipertxt,
'decrypt'
,key =13)
print
(txt)
# 暴力破解演算法
defdecipher
(msg)
: msg = msg.upper(
)for key in
range
(len
(letters)):
translated =
''for symbol in msg:
if symbol in letters:
num= letters.find(symbol)
num = num - key
if num <0:
num = num +
len(letters)
translated = translated + letters[num]
else
: translated = translated + symbol
print
(translated)
print
('------暴力破解密文--------'
)decipher(clipertxt)
guvf vf zl frperg zrffntr.
this is my secret message.
------暴力破解密文--------
guvf vf zl frperg zrffntr.
ftue ue yk eqodqf yqeemsq.
estd td xj dpncpe xpddlrp.
drsc sc wi combod wocckqo.
cqrb rb vh bnlanc vnbbjpn.
bpqa qa ug amkzmb umaaiom.
aopz pz tf zljyla tlzzhnl.
znoy oy se ykixkz skyygmk.
ymnx nx rd xjhwjy rjxxflj.
xlmw mw qc wi**ix qiwweki.
wklv lv pb vhfuhw phvvdjh.
vjku ku oa uget** oguucig.
uijt jt nz tfdsfu nfttbhf.
this is my secret message.
sghr hr lx rdbqds ldrrzfd.
rfgq gq kw qcapcr kcqqyec.
qefp fp jv pbzobq jbppxdb.
pdeo eo iu oaynap iaoowca.
ocdn dn ht nzxmzo hznnvbz.
nbcm cm gs mywlyn gymmuay.
mabl bl fr lxvkxm fxlltzx.
lzak ak eq kwujwl ewkksyw.
kyzj zj dp jvtivk dvjjrxv.
jxyi yi co iushuj cuiiqwu.
iwxh xh bn htrgti bthhpvt.
hvwg wg am gsqfsh asggous.
凱撒加密法
凱撒加密法,或稱愷撒加密 愷撒變換 變換加密,是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母表上向後 或向前 按照乙個固定數目進行偏移後被替換成密文。主要思想 與rot13方式相似,向後向前偏移進行加密解密 加密 def encrypt caesar shift...
凱撒加密法(取模移位)
題目描述 凱撒加密法,或稱愷撒加密 愷撒變換 變換加密,是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母表上向後 或向前 按照乙個固定數目進行偏移後被替換成密文。例如,當偏移量是左移3的時候 明文本母表 abcdefghijklmnopqrstuvwxyz 密文字...
凱撒密碼,凱撒加密解密
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...