python密碼學(xué)RSA密碼加密教程
在本章中,我們將重點介紹RSA密碼加密的不同實現(xiàn)及其所涉及的功能.您可以引用或包含此python文件以實現(xiàn)RSA密碼算法實現(xiàn).
加密算法模塊
加密算法包含的模塊如下
from?Crypto.PublicKey?import?RSA from?Crypto.Cipher?import?PKCS1_OAEP from?Crypto.Signature?import?PKCS1_v1_5 from?Crypto.Hash?import?SHA512,?SHA384,?SHA256,?SHA,?MD5 from?Crypto?import?Random from?base64?import?b64encode,?b64decode hash?=?"SHA-256"
哈希值初始化
為了更好的安全性,我們將哈希值初始化為SHA-256.我們將使用函數(shù)生成新密鑰或一對公鑰和私鑰.
使用以下代碼.
def?newkeys(keysize): ???random_generator?=?Random.new().read ???key?=?RSA.generate(keysize,?random_generator) ???private,?public?=?key,?key.publickey() ???return?public,?private def?importKey(externKey): ???return?RSA.importKey(externKey)
函數(shù)algorithm
對于加密,在RSA之后使用以下函數(shù)algorithm:
def?encrypt(message,?pub_key): ???cipher?=?PKCS1_OAEP.new(pub_key) ???return?cipher.encrypt(message)
兩個參數(shù)是必需的:消息和 pub_key ,它指的是公鑰.公鑰用于加密,私鑰用于解密.
加密程序的完整代碼
from?Crypto.PublicKey?import?RSA from?Crypto.Cipher?import?PKCS1_OAEP from?Crypto.Signature?import?PKCS1_v1_5 from?Crypto.Hash?import?SHA512,?SHA384,?SHA256,?SHA,?MD5 from?Crypto?import?Random from?base64?import?b64encode,?b64decode hash?=?"SHA-256" def?newkeys(keysize): ???random_generator?=?Random.new().read ???key?=?RSA.generate(keysize,?random_generator) ???private,?public?=?key,?key.publickey() ???return?public,?private def?importKey(externKey): ???return?RSA.importKey(externKey) def?getpublickey(priv_key): ???return?priv_key.publickey() def?encrypt(message,?pub_key): ???cipher?=?PKCS1_OAEP.new(pub_key) ???return?cipher.encrypt(message)
以上就是python密碼學(xué)RSA密碼加密教程的詳細(xì)內(nèi)容,更多關(guān)于python密碼學(xué)RSA加密的資料請關(guān)注腳本之家其它相關(guān)文章!
- Python?hashlib模塊與哈希算法保護(hù)數(shù)據(jù)完整性教程
- Python基礎(chǔ)之hashlib模塊subprocess模塊logging模塊
- Python?HMAC模塊維護(hù)數(shù)據(jù)安全技術(shù)實例探索
- python借助ChatGPT讀取.env實現(xiàn)文件配置隔離保障私有數(shù)據(jù)安全
- Python3.10耙梳加密算法Encryption種類及開發(fā)場景
- python密碼學(xué)各種加密模塊教程
- python密碼學(xué)實現(xiàn)文件加密教程
- Python hashlib庫數(shù)據(jù)安全加密必備指南
相關(guān)文章
Django中ORM表的創(chuàng)建和增刪改查方法示例
這篇文章主要給大家介紹了關(guān)于Django中ORM表的創(chuàng)建和增刪改查等基本操作的方法,還給大家分享了django orm常用查詢篩選的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11python numpy生成等差數(shù)列、等比數(shù)列的實例
今天小編就為大家分享一篇python numpy生成等差數(shù)列、等比數(shù)列的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02python使用opencv對圖像添加噪聲(高斯/椒鹽/泊松/斑點)
這篇文章主要介紹了python使用opencv對圖像添加噪聲(高斯/椒鹽/泊松/斑點),具有一定的學(xué)習(xí)價值,需要的小伙伴可以參考一下,希望對你有所幫助2022-04-04python 使用tkinter與messagebox寫界面和彈窗
這篇文章主要介紹了python 使用tkinter與messagebox寫界面和彈窗,文章內(nèi)容詳細(xì),具有一的的參考價值,需要的小伙伴可以參考一下2022-03-0310分鐘用python搭建一個超好用的CMDB系統(tǒng)
這篇文章主要介紹了10分鐘用python搭建一個超好用的CMDB系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python 實現(xiàn)的 Google 批量翻譯功能
這篇文章主要介紹了Python 實現(xiàn)的 Google 批量翻譯功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08