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ù)生成新密鑰或一對公鑰和私鑰.
使用以下代碼.
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)
兩個(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加密的資料請關(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種類及開發(fā)場景
- python密碼學(xué)各種加密模塊教程
- python密碼學(xué)實(shí)現(xiàn)文件加密教程
- Python hashlib庫數(shù)據(jù)安全加密必備指南
相關(guān)文章
Python使用redis pool的一種單例實(shí)現(xiàn)方式
這篇文章主要介紹了Python使用redis pool的一種單例實(shí)現(xiàn)方式,結(jié)合實(shí)例形式分析了Python操作redis模塊實(shí)現(xiàn)共享同一個(gè)連接池的相關(guān)技巧,需要的朋友可以參考下2016-04-04
Python計(jì)算機(jī)視覺里的IOU計(jì)算實(shí)例
今天小編就為大家分享一篇Python計(jì)算機(jī)視覺里的IOU計(jì)算實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python實(shí)現(xiàn)批量提取Word文檔表格數(shù)據(jù)
在大數(shù)據(jù)處理與信息抽取領(lǐng)域中,Word文檔是各類機(jī)構(gòu)和個(gè)人普遍采用的一種信息存儲格式,本文將介紹如何使用Python實(shí)現(xiàn)對Word文檔中表格的提取,感興趣的可以了解下2024-03-03
python獲取當(dāng)前計(jì)算機(jī)cpu數(shù)量的方法
這篇文章主要介紹了python獲取當(dāng)前計(jì)算機(jī)cpu數(shù)量的方法,涉及Python操作計(jì)算機(jī)硬件的技巧,代碼簡單易懂,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
Python圖像處理庫PIL的ImageEnhance模塊使用介紹
這篇文章主要介紹了Python圖像處理庫PIL的ImageEnhance模塊使用介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
啟動(dòng)targetcli時(shí)遇到錯(cuò)誤解決辦法
這篇文章主要介紹了啟動(dòng)targetcli時(shí)遇到錯(cuò)誤解決辦法的相關(guān)資料,希望通過本文能幫助到大家,讓大家遇到這樣的錯(cuò)誤解決,需要的朋友可以參考下2017-10-10
Python+drawpad實(shí)現(xiàn)CPU監(jiān)控小程序
這篇文章主要為大家詳細(xì)介紹了如何利用Python+drawpad實(shí)現(xiàn)一個(gè)簡單的CPU監(jiān)控小程序,文中示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下2022-08-08

