python版實現凱撒密碼
一 介紹
凱撒密碼是一種非常古老的加密方法,相傳當年凱撒大地行軍打仗時為了保證自己的命令不被敵軍知道,就使用這種特殊的方法進行通訊,以確保資訊傳遞的安全。他的原理很簡單,說到底就是字母於字母之間的替換。下面讓我們看一個簡單的例子:“baidu”用凱撒密碼法加密後字串變為“edlgx”,它的原理是什麼呢?把“baidu”中的每一個字母按字母表順序向後移3位,所得的結果就是剛才我們所看到的密文。二 程式碼
三 執行結果 1. 加密 2. 解密 請選擇:1 請輸入明文:cakin 請輸入位移值:3 加密結果為:fdnlq 1. 加密 2. 解密 請選擇:2 請輸入密文:fdnlq 請輸入位移值:3 解密結果為:cakinimport os #-*-coding:utf-8-*- #==================================================================# # 凱撒密碼(caesar)是最早的代換密碼,對稱密碼的一種 # # 演算法:將每個字母用字母表中它之後的第k個字母(稱作位移值)替代 # #==================================================================# def encryption(): str_raw = input("請輸入明文:") k = int(input("請輸入位移值:")) str_change = str_raw.lower() str_list = list(str_change) str_list_encry = str_list i = 0 while i < len(str_list): if ord(str_list[i]) < 123-k: str_list_encry[i] = chr(ord(str_list[i]) + k) else: str_list_encry[i] = chr(ord(str_list[i]) + k - 26) i = i+1 print ("加密結果為:"+"".join(str_list_encry)) def decryption(): str_raw = input("請輸入密文:") k = int(input("請輸入位移值:")) str_change = str_raw.lower() str_list = list(str_change) str_list_decry = str_list i = 0 while i < len(str_list): if ord(str_list[i]) >= 97+k: str_list_decry[i] = chr(ord(str_list[i]) - k) else: str_list_decry[i] = chr(ord(str_list[i]) + 26 - k) i = i+1 print ("解密結果為:"+"".join(str_list_decry)) while True: print (u"1. 加密") print (u"2. 解密") choice = input("請選擇:") if choice == "1": encryption() elif choice == "2": decryption() else: print (u"您的輸入有誤!")
相關推薦
python版實現凱撒密碼
一 介紹 凱撒密碼是一種非常古老的加密方法,相傳當年凱撒大地行軍打仗時為了保證自己的命令不被敵軍知道,就使用這種特殊的方法進行通訊,以確保資訊傳遞的安全。他的原理很簡單,說到底就是字母於字母之間的替換。下面讓我們看一個簡單的例子:“baidu”用凱撒密碼法加密後字串變為“edlgx”,它的原理是什麼呢?把“
python實現凱撒密碼解密和加密
def encryption(): str_raw = input("請輸入明文:") k = int(input("請輸入位移值:")) str_change = str_raw.lower() str_list = list(str_change) str
Python實現凱撒密碼演算法及暴力破譯凱撒密碼演算法
一、凱撒加密法是什麼? 加密原理非常簡單,就是對字母表中的的每個字母,用它後面的第key個字母來代替。例如: 明文:meet me after the toga party 密文:PHHW PH
Python實現凱撒密碼的加密與解密
在密碼學中,我們把想要加密的訊息叫做明文(plain text)。把明文轉換成加密後的訊息叫做對明文加密(encrypting),明文加密後變成(cipher text)。 凱撒密碼的金鑰是1到26之間的一個數字。除非知道這個鍵(即用於加密訊息的數字),否則無
凱撒密碼加密解密--JAVA實現(基礎)
soft ring java實現 sta 想是 clas pub sof print 凱撒密碼一種代換密碼,據說凱撒是率先使用加密函的古代將領之一,因此這種加密方法被稱為愷撒密碼。凱撒密碼的基本思想是:通過把字母移動一定的位數來實現加密和解密。明文中的所有字母都在字母表上向
Python凱撒密碼和反密碼
代碼 ner 通過 sdn odi 完全 plain 密碼 http 凱撒密碼 寫出字母表的字母從A到Z的數字從0到25根據每個字母。A下面是0,B下面是1,等等,直到Z,下面為25.(有字母表中的26個字母,但我們的數字只上升到25,因為我們開始在0,而不是1):
使用js實現5種加密解密演算法(凱撒密碼、字母倒排序、單表置換、維基利亞、轉換加密演算法)
在學習作業系統的時候,我們會學到系統安全的章節,而在這一塊會有關於加密解密演算法的學習。 一共有5種常見的加密解密演算法:凱撒密碼、字母倒排序、單表置換、維基利亞、轉換加密演算法。 我使用了js實現了這5種演算法,而且做了視覺化處理、輸入輸出格式化處理,使得操作起來非常
古典密碼(凱撒密碼/維吉尼亞密碼/Play fair密碼/Hill密碼)的實現(MFC介面)
void CEn_DeDlg::random_Matrix() { int i, j; for (i = 0; i < ROW; i++) { for (j = 0; j < COL; j++) { K[i][j]
凱撒密碼解密指令碼(python)
def casearDecrypt(ciphertext, source_char, destination_char): offset = ord(destination_char) - ord(source_char) chars = "ab
字符串操作練習:星座、凱撒密碼、99乘法表、詞頻統計預處理
千分位 不足 last 乘法表 控制 ise 精度 end for 實例:輸出12個星座符號,以反斜線分隔。 for i in range(12): print(chr(9800+i),end="/") 愷撒密碼的編碼 sr1="abcdefghij
字符串操作練習:星座、凱撒密碼、99乘法表、詞頻統計預處
姓名 orm 99乘法表 不足 log inpu 輸入 print 實例 1 實例:輸出12個星座符號,以反斜線分隔。 >>>for i in range (12): >>>print(chr(9800+i),end=" ") 2
凱撒密碼、GDP格式化輸出、99乘法表
9.png images format spa 千分位 tex article ext log 愷撒密碼的編碼 plaincode = input(‘明文:‘) print(‘密文:‘,end=‘‘) for i in plaincode: print(chr(
凱撒密碼、GDP格式化輸出、九九乘法表
技術 九九乘法表 格式 images 總量 千分位 color {} 2.4 1、愷撒密碼的編碼 string =input(‘明文:‘) print(‘密文:‘,end=‘‘) for i in string: print(chr(ord(i)+3),end=‘
凱撒密碼
tex end pla sage input proc text ext print plainText = input(‘message:‘) for d in plainText: print(chr(ord(d)+4),end=‘‘) message:
《密碼學》 凱撒密碼和柵格密碼(0)
inf 分享 align alt ont 加密技術 col img center 凱撒密碼(0) 在密碼學中,愷撒密碼(英語:Caesar cipher),或稱愷撒加密、愷撒變換、變換加密,是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母
歷史著名密碼(凱撒密碼、簡單替換密碼、Enigma)
凱撒密碼 公元前100多年凱撒發明的一種密碼,簡單來說是平移密碼,也就是將字母位置向後移動一定位數。 如原文是ABCDEFG,金鑰為3,加密後就是DEFGHIJ。 以金鑰的數字向後平移了三位,如果金鑰是5就是平移五位。 凱撒密碼最簡單的破譯方式為窮舉法(暴力破解法),一共只有26個字母,
凱撒密碼-CTF(Crypto)
題目:致敬經典 lrua{1uy3yj9l-yw9u-48j2-uuj8-36h03706y7u7} 解密 :題目的圖片是20020年的電影名為凱撒大帝,很明顯應該考慮是凱撒密碼,將a~z對應著1~26列出來,將明文對應上,可發現偏移量為6,偶數位左移,奇數位右移,程式碼實現不難,但需
[古典密碼]:Caesar cipher(凱撒密碼)
非常簡單的訊息編碼方式,僅僅是將字母后移3位,而X Y Z右移就回到A B C. 加密的話就是簡單的加三取模即可;解密就是其反過程。 C++實現如下: #include#include#includ
【leetCode】 Balanced Binary Tree python版實現
原題連結 實現原理解析 該題比較簡單,主要思想是遞迴的判斷左右子樹的高度不大於1即可,注意異常處理 python程式碼實現 class Solution(object): def isBalanced(self, ro
凱撒密碼圖解
一 什麼是凱撒密碼 二 凱撒密碼的加密過程 用凱撒密碼加密,金鑰是3 三 凱撒密碼的解密過程 用凱撒密碼解密,金鑰也是3 四 暴力破解凱撒密碼 在凱撒密碼中,金鑰就是字母表平移的數字。由於字母表只有26個字母,因此加密用的金鑰只有0到25共26種(平移