python密碼學(xué)RSA密碼加密教程
在本章中,我們將重點(diǎn)介紹RSA密碼加密的不同實(shí)現(xiàn)及其所涉及的功能.您可以引用或包含此python文件以實(shí)現(xiàn)RSA密碼算法實(shí)現(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ù)生成新密鑰或一對(duì)公鑰和私鑰.
使用以下代碼.
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
對(duì)于加密,在RSA之后使用以下函數(shù)algorithm:
def?encrypt(message,?pub_key): ???cipher?=?PKCS1_OAEP.new(pub_key) ???return?cipher.encrypt(message)
兩個(gè)參數(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加密的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python?hashlib模塊與哈希算法保護(hù)數(shù)據(jù)完整性教程
- Python基礎(chǔ)之hashlib模塊subprocess模塊logging模塊
- Python?HMAC模塊維護(hù)數(shù)據(jù)安全技術(shù)實(shí)例探索
- python借助ChatGPT讀取.env實(shí)現(xiàn)文件配置隔離保障私有數(shù)據(jù)安全
- Python3.10耙梳加密算法Encryption種類及開(kāi)發(fā)場(chǎng)景
- python密碼學(xué)各種加密模塊教程
- python密碼學(xué)實(shí)現(xiàn)文件加密教程
- Python hashlib庫(kù)數(shù)據(jù)安全加密必備指南
相關(guān)文章
Django中ORM表的創(chuàng)建和增刪改查方法示例
這篇文章主要給大家介紹了關(guān)于Django中ORM表的創(chuàng)建和增刪改查等基本操作的方法,還給大家分享了django orm常用查詢篩選的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
python numpy生成等差數(shù)列、等比數(shù)列的實(shí)例
今天小編就為大家分享一篇python numpy生成等差數(shù)列、等比數(shù)列的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
python使用opencv對(duì)圖像添加噪聲(高斯/椒鹽/泊松/斑點(diǎn))
這篇文章主要介紹了python使用opencv對(duì)圖像添加噪聲(高斯/椒鹽/泊松/斑點(diǎn)),具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你有所幫助2022-04-04
python 使用tkinter與messagebox寫(xiě)界面和彈窗
這篇文章主要介紹了python 使用tkinter與messagebox寫(xiě)界面和彈窗,文章內(nèi)容詳細(xì),具有一的的參考價(jià)值,需要的小伙伴可以參考一下2022-03-03
python對(duì)網(wǎng)頁(yè)文本的格式化實(shí)例方法
在本篇文章里小編給大家整理是一篇關(guān)于python對(duì)網(wǎng)頁(yè)文本的格式化實(shí)例方法,有興趣的朋友們可以跟著學(xué)習(xí)參考下。2021-10-10
10分鐘用python搭建一個(gè)超好用的CMDB系統(tǒng)
這篇文章主要介紹了10分鐘用python搭建一個(gè)超好用的CMDB系統(tǒng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python寫(xiě)入數(shù)據(jù)到MP3文件中的方法
這篇文章主要介紹了Python寫(xiě)入數(shù)據(jù)到MP3文件中的方法,可實(shí)現(xiàn)將MP3文件相關(guān)信息寫(xiě)入MP3文件的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
Python 實(shí)現(xiàn)的 Google 批量翻譯功能
這篇文章主要介紹了Python 實(shí)現(xiàn)的 Google 批量翻譯功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08

