python凱撒加密


  在密碼學中,愷撒密碼是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母表上向后(或向前)按照一個固定數目進行偏移后被替換成密文。例,當偏移量是3的時候,所有的字母A將被替換成D,B變成E,以此類推。這個加密方法是以愷撒的名字命名的,當年愷撒曾用此方法與其將軍們進行聯系。編程實現愷撒加密,明文和偏移量由用戶輸入,輸出密文。

輸入格式

輸入包括兩行‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬

  第一行是一個字符串‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬

  第二行是一個正整數

輸出格式

一個字符串,內容為用戶輸入字符串加密的結果

示例 1

輸入:Beautiful is better than ugly.Explicit is better than implicit.

   3

輸出:Ehdxwlixo lv ehwwhu wkdq xjob.Hasolflw lv ehwwhu wkdq lpsolflw.

代碼:

 

s = input("需要加密的字符串:")
n = int(input("偏移量:"))

listS = list(s[:])
newList = []

for i in listS:
    if i.isalpha():
        if 97 <= ord(i) < (122-n) or 65 <= ord(i) < (90-n):
            newList.append(chr(ord(i) + n))
        
        else:
            newList.append(chr(ord(i) - (26-n)))
    else:
        newList.append(i)
        
newS = "".join(newList)
print(newS)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM