1. 程式人生 > >Python 簡單的加密和解密

Python 簡單的加密和解密

今天來說說簡單的加密和解密吧,我們在PyCharm中開啟一個新的project,起名隨意,之後建立一個python file名字就叫做encryption.py吧.

首先我們知道在python中,ord()函式就是用來返回單個字元的ASCII值(0-255)或者unicode數值, chr()則相反,舉個例子:
這裡寫圖片描述
從上面的例子可以看出小寫’z’的unicode是3位數,但我們下面的程式碼解密時設定的是2位一解密,所以我們把122-23=99,這樣就是兩位數啦,解密的時候就可以統一兩位一解。

具體我們來看在encryption.py中的程式碼:

#給字串加密
str1= input("Input string to be encrypted: "
) #我們可以自己輸入一串或單個字母 secret_message = '' for st in str1: if st.isspace(): #判斷輸入的資料中是否有空格 secret_message += str(ord(st)) #空格直接轉成unicode elif st.isalpha(): #判斷輸入的資料是否為字母 secret_message += str(ord(st)-23) #把所有字母的unicode減去23 print("secret_message: ",secret_message) #給字串解密 norm_string =''
for i in range(0,len(secret_message)-1,2): #讓系統兩位兩位一讀 st_code = secret_message[i] + secret_message[i+1] if st_code !='32': #空格的unicode是32,我們在加密的時候沒有讓它減23 norm_string += chr(int(st_code) +23) #其餘的字母先加23再用chr()函式轉 else: norm_string += chr(int(st_code)) print("original message: "
,norm_string)

寫好啦,我們試驗一下,點選run將這個程式跑起來:
這裡寫圖片描述

大家舉一反三看看中文怎麼解密加密哦。。。