凱撒加密法,或稱愷撒加密、愷撒變換、變換加密,是一種最簡單且最廣為人知的加密技術。
它是一種替換加密的技術,明文中的所有字母都在字母表上向後(或向前)按照乙個固定數目進行偏移後被替換成密文。
主要思想:與rot13方式相似,向後向前偏移進行加密解密
加密
def encrypt_caesar():
shift=input("輸入偏移量:")
if(not shift.isdigit()):
return "請輸入數字!"
src=input("輸入加密字串:")
result = ""
for x in src:
if(x.isalpha()):
if(x.islower()):
x=x.upper()
x=ord(x)
x=x+int(shift)
if(x > 90):
x = x - 26
x = chr(x)
result = result + x
return result
執行結果
解密
def decrypt_caesar():
shift=input("輸入偏移量:")
if(not shift.isdigit()):
return "請輸入數字!"
src=input("輸入解密字串:")
result = ""
for x in src:
if(x.isalpha()):
if(x.isupper()):
x=x.lower()
x=ord(x)
x=x-int(shift)
if(x < 96):
x = x + 26
x = chr(x)
result = result + x
return result
ps:
linux還可以使用tr進行解密 具體可見rot13下面
凱撒加密法
根據金鑰以不同方式加密訊息,金鑰是從0到25的整數。將明文通過有序替換的方式變成密文,及將明文在密文字典的位置加上金鑰數值後鎖定密文字典裡的新文字就成了密文。此方法缺點就是當知道了字典後可以嘗試暴力破解。密文字典 global letters letters abcdefghijklmnopqrst...
凱撒加密法(取模移位)
題目描述 凱撒加密法,或稱愷撒加密 愷撒變換 變換加密,是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母表上向後 或向前 按照乙個固定數目進行偏移後被替換成密文。例如,當偏移量是左移3的時候 明文本母表 abcdefghijklmnopqrstuvwxyz 密文字...
凱撒密碼,凱撒加密解密
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...