用Python實現凱撒密碼加密解密
阿新 • • 發佈:2021-01-31
技術標籤:Python
凱撒密碼
原理:
通過把字母移動一定的位數來實現加解密明文中的所有字母從字母表向後(或向前)按照一個固定步長進行偏移後被替換成密文。
例如:
當步長為3時,A被替換成D,B被替換成E,依此類推,X替換成A本加解密實現只針對英文字母(包括大小寫)。
# -*- coding: utf-8 -*- """ Created on Sat Jan 30 13:39:20 2021 @author: 葉照清 """ from string import ascii_lowercase lows=ascii_lowercase ups=lows.upper() def kasa(s,k,ok=True): ''' 凱撒加密 引數: s:需加密的字串 k:密碼 ok='other'就變成解密了 ''' k=k%len(lows) #密碼取mod before=lows+ups after = lows[k:]+lows[:k]+ups[k:]+ups[:k] if ok==True: table=''.maketrans(before,after) else: table=''.maketrans(after,before) return s.translate(table) s='''Created on Sat Jan 30 13:39:20 2021 @author: yezq''' k=12334343 sa=kasa(s,k) print('原文:\n',s) print('加密:\n',sa) sb=kasa(sa,k,None) print('解密:\n',sb)
>>> ========================= RESTART: E:\work\kasa\kasa.py ======================== 原文: Created on Sat Jan 30 13:39:20 2021 @author: yezq 加密: Xmzvozy ji Nvo Evi 30 13:39:20 2021 @vpocjm: tzul 解密: Created on Sat Jan 30 13:39:20 2021 @author: yezq >>>