Python密碼學XOR算法編碼流程及乘法密碼教程
在本章中,讓我們了解XOR過程及其在Python中的編碼以及乘法密碼的教程
XOR算法
XOR算法的加密和解密轉換ASCII字節(jié)格式的純文本,并使用XOR過程將其轉換為指定的字節(jié).它為用戶提供以下優(yōu)勢 :
- 快速計算
- 沒有區(qū)別標記左側和右側
- 易于理解和分析
代碼
您可以使用以下代碼執(zhí)行XOR過程 :
def?xor_crypt_string(data,?key?=?'awesomepassword',?encode?=?False,?decode?=?False):
???from?itertools?import?izip,?cycle
???import?base64
???if?decode:
??????data?=?base64.decodestring(data)
???xored?=?''.join(chr(ord(x)?^?ord(y))?for?(x,y)?in?izip(data,?cycle(key)))
???if?encode:
??????return?base64.encodestring(xored).strip()
???return?xored
secret_data?=?"XOR?procedure"
print("The?cipher?text?is")
print?xor_crypt_string(secret_data,?encode?=?True)
print("The?plain?text?fetched")
print?xor_crypt_string(xor_crypt_string(secret_data,?encode?=?True),?decode?=?True)輸出
XOR流程的代碼為您提供以下輸出 :

說明
- 函數 xor_crypt_string()包括一個參數,用于指定編碼和解碼模式以及字符串值.
- 基本功能是使用base64模塊進行的,這些模塊遵循XOR過程/操作來加密或解密純文本/密文.
注意 : XOR加密用于加密數據,并且難以通過強力方法破解,即通過生成隨機加密密鑰以匹配正確的密文.
乘法密碼
使用凱撒密碼技術時,加密和解密符號涉及使用簡單的加法或減法基本過程將值轉換為數字.
如果使用乘法轉換為密文,它被稱為環(huán)繞情況.考慮使用的字母和相關數字如下所示 :

這些數字將用于乘法過程,相關密鑰為7.在這種場景中用于生成乘法密碼的基本公式如下 :
(Alphabet Number * key)mod(total number of alphabets)
通過輸出獲取的數字映射到上面提到的表格和相應的字母作為加密字母.

Python中乘法密碼的基本調制函數如下:
def?unshift(key,?ch): ???offset?=?ord(ch)?-?ASC_A ???return?chr(((key[0]?*?(offset?+?key[1]))?%?WIDTH)?+?ASC_A)
注意 : 乘法密碼的優(yōu)點是它可以使用非常大的密鑰,如8,953,851.計算機需要相當長的時間才能通過大多數900萬個密鑰進行暴力破解.
以上就是Python密碼學XOR編碼流程及乘法密碼教程的詳細內容,更多關于Python密碼學XOR乘法密碼的資料請關注腳本之家其它相關文章!
相關文章
Python并發(fā)編程隊列與多線程最快發(fā)送http請求方式
假如有一個文件,里面有10萬個url,需要對每個url發(fā)送http請求,并打印請求結果的狀態(tài)碼,如何編寫代碼盡可能快的完成這些任務呢2021-09-09
Mysql分組查詢group by與with rollup方式
這篇文章主要介紹了Mysql分組查詢group by與with rollup方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08

