python實(shí)現(xiàn)移位加密和解密
本文實(shí)例為大家分享了python實(shí)現(xiàn)移位加密和解密的具體代碼,供大家參考,具體內(nèi)容如下
代碼很簡(jiǎn)單,就不多做解釋啦。主要思路是將字符串轉(zhuǎn)為Ascii碼,將大小寫字母分別移位密鑰表示的位數(shù),然后轉(zhuǎn)回字符串。需要注意的是,當(dāng)秘鑰大于26的時(shí)候,我使用循環(huán)將其不斷減去26,直到密鑰等效小于26為止。
def encrypt():
temp = raw_input("Please input your sentence: ")
key = int(raw_input("Please input your key: "))
listA = map(ord,temp)
lens = len(listA)
for i in range(lens):
a = listA[i]
if 65 <= a <= 90:
a += key
while a > 90:
a -= 26
elif 97 <= a <= 122:
a += key
while a > 122:
a -= 26
listA[i] = a
listA = map(chr,listA)
listA = ''.join(listA)
print listA
def unencrypt():
temp = raw_input("Please input your sentence: ")
key = int(raw_input("Please input your key: "))
listA = map(ord, temp)
lens = len(listA)
for i in range(lens):
a = listA[i]
if 65 <= a <= 90:
a -= key
while a < 65:
a += 26
elif 97 <= a <= 122:
a -= key
while a < 97:
a += 26
listA[i] = a
listA = map(chr, listA)
listA = ''.join(listA)
print listA
a = int(raw_input("input 0 to encrypt and 1 to unencrypt"))
if a == 0:
encrypt()
elif a == 1:
unencrypt()
效果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
帶你用Python實(shí)現(xiàn)Saga 分布式事務(wù)的方法
在這篇文章里,我們介紹了 SAGA 的理論知識(shí),也通過(guò)一個(gè)例子,完整給出了編寫一個(gè) SAGA 事務(wù)的過(guò)程,涵蓋了正常成功完成,異常情況,以及成功回滾的情況,需要的朋友參考下吧2021-09-09
python返回?cái)?shù)組索引的方法實(shí)現(xiàn)
本文介紹了三種在Python中返回?cái)?shù)組索引的方法,主要包括index()方法,enumerate()方法及使用numpy庫(kù)的argwhere()函數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
python selenium 對(duì)瀏覽器標(biāo)簽頁(yè)進(jìn)行關(guān)閉和切換的方法
今天小編就為大家分享一篇python selenium 對(duì)瀏覽器標(biāo)簽頁(yè)進(jìn)行關(guān)閉和切換的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
解決python xlrd無(wú)法讀取excel文件的問題
今天小編就為大家分享一篇解決python xlrd無(wú)法讀取excel文件的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Python?UnicodedecodeError編碼問題解決方法匯總
本文主要介紹了Python?UnicodedecodeError編碼問題解決方法匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
Pandas時(shí)間序列重采樣(resample)方法中closed、label的作用詳解
這篇文章主要介紹了Pandas時(shí)間序列重采樣(resample)方法中closed、label的作用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Python利用函數(shù)式編程實(shí)現(xiàn)優(yōu)化代碼
函數(shù)式編程(Functional Programming)是一種編程范式,它將計(jì)算視為函數(shù)的求值,并且避免使用可變狀態(tài)和循環(huán),在Python中還可以利用它的簡(jiǎn)潔和高效來(lái)解決實(shí)際問題,下面我們就來(lái)學(xué)習(xí)一下它的具體用法吧2023-11-11

