日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python——Crypto库实现公钥加密私钥解密

發布時間:2024/1/1 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python——Crypto库实现公钥加密私钥解密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

    • RSA介紹
    • openssl生成公鑰和私鑰
    • python實現生成公私鑰
    • PKCS1_v1_5包
    • 數據加密以及解密
      • 導入相關包
      • 數據加密
      • 數據解密
      • 效果展示

Crypto 模塊提供了加密功能,包含對 OpenSSL 的哈希、HMAC、加密、解密、簽名、以及驗證功能的一整套封裝。
本文主要是Crypto RSA算法加密。

RSA介紹

RSA算法是一種非對稱加密算法,即由一個私鑰和一個公鑰構成的密鑰對,通過私鑰簽名,公鑰驗簽,或者通過公鑰加密,私鑰解密。其中,公鑰可以公開,私鑰必須保密。

例:當小明給小紅發送信息時,可以用小明自己的私鑰簽名,小紅用小明的公鑰驗簽,也可以用小紅的公鑰加密,小紅用她自己的私鑰解密,這就是非對稱加密。相比對稱加密,非對稱加密只需要每個人各自持有自己的私鑰,同時公開自己的公鑰。

openssl生成公鑰和私鑰

使用openssl生成公鑰和私鑰:

首先,在命令行執行以下命令以生成一個RSA密鑰對:

openssl genrsa -aes256 -out rsa-key.pem 2048

根據提示輸入密碼,這個密碼是用來加密RSA密鑰的,加密方式指定為AES256,生成的RSA的密鑰長度是2048位。執行成功后,我們獲得了加密的rsa-key.pem文件。

第二步,通過上面的rsa-key.pem加密文件,我們可以導出原始的私鑰,命令如下:

openssl rsa -in rsa-key.pem -outform PEM -out rsa-prv.pem

輸入第一步的密碼,我們就可以獲得加密后的私鑰。

類似的,我們用下面的命令導出原始的公鑰:

openssl rsa -in rsa-key.pem -outform PEM -pubout -out rsa-pub.pem

python實現生成公私鑰

首先,需要安裝Crypto庫:

python3 -m pip install pycryptodome from Crypto import Random from Crypto.PublicKey import RSA# 獲取一個偽隨機數生成器 random_generator = Random.new().read # 獲取一個rsa算法對應的密鑰對生成器實例 rsa = RSA.generate(1024, random_generator)# 生成私鑰并保存 private_pem = rsa.exportKey() with open('rsa.key', 'wb') as f:f.write(private_pem)# 生成公鑰并保存 public_pem = rsa.publickey().exportKey() with open('rsa.pub', 'wb') as f:f.write(public_pem)

PKCS1_v1_5包

RSA PKCS#1 v1.5加密標準主要描述了如何使用RSA公鑰密碼體系加密、解密數據,以及數字簽名的算法

數據加密以及解密

導入相關包

from Crypto import Random from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 import base64

數據加密

message = "This is a plain text." with open('rsa.pub', 'r') as f:public_key = f.read()rsa_key_obj = RSA.importKey(public_key)cipher_obj = PKCS1_v1_5.new(rsa_key_obj)cipher_text = base64.b64encode(cipher_obj.encrypt(message.encode()))print('cipher text: ', cipher_text)

數據解密

with open('rsa.key', 'r') as f:private_key = f.read()rsa_key_obj = RSA.importKey(private_key)cipher_obj = PKCS1_v1_5.new(rsa_key_obj)random_generator = Random.new().readplain_text = cipher_obj.decrypt(base64.b64decode(cipher_text), random_generator)print('plain text: ', plain_text.decode())

效果展示

總結

以上是生活随笔為你收集整理的Python——Crypto库实现公钥加密私钥解密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久精品9 | 日韩精品免费一区二区在线观看 | 色综合一区二区三区 | 色漫在线观看 | 无码人妻丰满熟妇区毛片18 | 久久国产免费 | 中文字幕大全 | 精品人妻少妇一区二区三区 | 热99精品视频 | 男女污污视频在线观看 | 亚洲老女人av | 一级黄色影院 | 致单身男女免费观看完整版 | 男女深夜福利 | 宅男av在线 | 天天摸天天舔 | 日韩av中文 | 欧美黄网站在线观看 | 日本特级黄色大片 | 久久久久高清 | 亚洲经典在线观看 | 精品成在人线av无码免费看 | 国产av不卡一区 | 国产永久在线观看 | 亚洲综合免费观看高清完整版在线 | 日本亚洲欧美在线 | 日韩精品电影一区二区三区 | 欧美freesex黑人又粗又大 | 麻豆视频国产精品 | 亚洲激情免费 | 一极毛片| 诱惑の诱惑筱田优在线播放 | 亚洲精品视频91 | 久久国产小视频 | 中国丰满人妻videoshd | 西野翔夫の目の前で犯在线 | 亚洲欧美日本一区二区三区 | 中文字幕在线观看免费高清 | 欧美成人免费大片 | 综合激情亚洲 | 光溜溜视频素材大全美女 | 亚洲va国产天堂va久久 en | 日本少妇高潮 | 成人首页 | 成人小视频在线播放 | 蜜臀av午夜精品 | 美女黄色录像 | 嫩草影院菊竹影院 | 爆操网站 | 日本激情免费 | 自偷自拍亚洲 | 国产婷婷色一区二区三区在线 | 亚洲欧美视频在线观看 | 美女扒开内裤让男人捅 | 国产视频黄 | 无码不卡av东京热毛片 | 久久一区欧美 | 国产乱人伦精品一区二区 | 久久国产露脸精品国产 | 成人看片网 | 天天爽天天爽夜夜爽毛片 | 成人黄色大全 | 丰满人妻一区二区三区53 | 成人学院中文字幕 | 国产精品777| 超碰在线最新 | 美女网站一区 | 国产精品色网 | 3d动漫啪啪精品一区二区中文字幕 | 性色av一区二区三区红粉影视 | a∨鲁丝一区鲁丝二区鲁丝三区 | 成人在线小视频 | 国产无遮挡又黄又爽免费视频 | 一级日韩一级欧美 | 欧洲影院 | 精品国产一区二区三区av性色 | 伊人狼人综合 | av资源共享 | 无遮挡在线观看 | 国产免费自拍 | 成人免费av| 91福利视频导航 | 字幕网在线观看 | 乱视频在线观看 | 人妻丰满熟妇av无码久久洗澡 | 国产精品探花视频 | 乌克兰极品av女神 | 亚洲特黄特色 | 久久一级视频 | 日韩视频免费在线观看 | 日本理论片在线 | 久热欧美 | 九九热在线视频观看 | 九九精品热 | 1024手机在线观看 | 3p在线播放 | 国产精品日韩av | 国产孕妇孕交大片孕 | 四虎国产成人永久精品免费 |