日韩性视频-久久久蜜桃-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库实现公钥加密私钥解密的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲成人999 | 国产精品天美传媒 | 超碰97最新 | 亚洲综合91 | 蜜桃免费在线视频 | 嫩草私人影院 | 日韩中文字幕不卡 | 嫩草影院黄 | 日韩精品一区二区三区中文在线 | 国精产品99永久一区一区 | 自拍 偷拍 欧美 | 自拍一级片 | 亚洲色图偷拍视频 | www.成人在线| 中文字幕乱码中文字幕 | 日日摸日日碰 | 五级黄高潮片90分钟视频 | 一区二区三区在线观看免费视频 | 色一区二区三区 | 青春草久久 | 狂躁美女大bbbbbb黑人 | 亚洲精品三级 | 国产浪潮av | 免费人成在线观看网站 | 麻豆成人精品国产免费 | 国产男女裸体做爰爽爽 | 欧美视频一区二区在线观看 | 一本大道久久a久久综合婷婷 | 欧美亚洲天堂网 | 久久一级电影 | 在线观看视频日韩 | 亚洲精品国产成人久久av盗摄 | 欲色网站| 亚洲va欧美va国产综合久久 | wwww欧美| 欧美黄片一区 | 露脸啪啪清纯大学生美女 | 亚洲色婷婷久久精品av蜜桃 | 不卡的av | 国产乱码一区 | 国产精品久久无码一三区 | 91香蕉视频在线观看免费 | 88xx成人永久免费观看 | 男女作爱网站 | 欧美成人a视频 | 在线中文天堂 | 红杏出墙记| 精品人妻久久久久久888不卡 | 久久婷婷六月 | 国产精品乱码一区二区视频 | 伊人成年综合网 | 日韩理论视频 | 西西人体www大胆高清 | xxxxwwww国产 | 最新免费av | 超碰在线人 | 日韩电影一区二区在线观看 | 哪里可以看免费毛片 | 欧美日韩性 | 成人在线观看国产 | 人体av| 无码aⅴ精品一区二区三区浪潮 | 国产精品1区2区3区4区 | 亚洲国产精品自拍 | 日韩第六页 | 中文字幕精品久久久久人妻红杏ⅰ | 99热在线观看精品 | 天天综合天天添夜夜添狠狠添 | 樱桃成人精品视频在线播放 | 亚洲少妇精品 | 天天噜日日噜 | 女同一区二区三区 | 天天色影综合网 | 日日舔夜夜操 | 一区二区三区视频在线免费观看 | 麻豆黄色网| 欧美在线aa | wwwwww国产| 国产女人18毛片水18精品 | 欧美天堂 | 91中文字幕视频 | 一本色道久久88综合无码 | 视色av| 国产成人精品一二三区 | 尤物视频官网 | 亚洲天堂av影院 | 永久视频在线观看 | 五月激情丁香 | 一本色道av | 国产人妻精品一区二区三区不卡 | 亚洲永久无码7777kkk | 成人免费在线播放视频 | 免费在线观看视频 | 美女性高潮视频 | 亚洲 小说 欧美 激情 另类 | 国产人妻人伦精品1国产丝袜 | 亚洲www色 | 中文字幕在线观看不卡 | 日韩黄色免费观看 |