国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

j詳解python利用rsa庫做公鑰解密的方法

來源:懂視網 責編:小采 時間:2020-11-27 14:22:38
文檔

j詳解python利用rsa庫做公鑰解密的方法

j詳解python利用rsa庫做公鑰解密的方法:RSA是一種公鑰密碼算法,RSA的密文是對代碼明文的數字的 E 次方求mod N 的結果。下面這篇文章主要給大家介紹了關于python利用rsa庫做公鑰解密的方法教程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下,希望能幫助到大家。前言對于RSA的解密,即
推薦度:
導讀j詳解python利用rsa庫做公鑰解密的方法:RSA是一種公鑰密碼算法,RSA的密文是對代碼明文的數字的 E 次方求mod N 的結果。下面這篇文章主要給大家介紹了關于python利用rsa庫做公鑰解密的方法教程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下,希望能幫助到大家。前言對于RSA的解密,即

RSA是一種公鑰密碼算法,RSA的密文是對代碼明文的數字的 E 次方求mod N 的結果。下面這篇文章主要給大家介紹了關于python利用rsa庫做公鑰解密的方法教程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下,希望能幫助到大家。

前言

對于RSA的解密,即密文的數字的 D 次方求mod N 即可,即密文和自己做 D 次乘法,再對結果除以 N 求余數即可得到明文。D 和 N 的組合就是私鑰(private key)。

算法的加密和解密還是很簡單的,可是公鑰和私鑰的生成算法卻不是隨意的。使用RSA公鑰解密,用openssl命令就是openssl rsautl -verify -in cipher_text -inkey public.pem -pubin -out clear_text,但其python網上還真沒有找到有博文去寫,只有hash的rsa解簽名。

這里使用rsa庫,如果沒有可以到官方網址https://pypi.python.org/pypi/rsa/3.1.4下載。

具體的安裝方法大家可以參考這里:http://www.gxlcms.com/article/70331.htm

想了想原理,然后到rsa庫的python代碼里找了找,從verify的代碼里提取了出來,又試驗了試驗,一切OK了。

代碼如下:

#! /usr/bin/env python
# -*- coding: utf-8 -*-
import sys
#rsa
from rsa import PublicKey, common, transform, core
def f(cipher, PUBLIC_KEY):
 public_key = PublicKey.load_pkcs1(PUBLIC_KEY)
 encrypted = transform.bytes2int(cipher)
 decrypted = core.decrypt_int(encrypted, public_key.e, public_key.n)
 text = transform.int2bytes(decrypted) 
 if len(text) > 0 and text[0] == 'x01':
 pos = text.find('x00')
 if pos > 0:
 return text[pos+1:]
 else:
 return None 
fn = sys.stdin.readline()[:-1]
public_key = sys.stdin.readline()[:-1]
x = f(open(fn).read(), open(public_key).read())
print x

用shell驗證如下:

$ openssl genrsa -out pri2048.pem 2048
Generating RSA private key, 2048 bit long modulus
..+++
..............................................+++
e is 65537 (0x10001)
 $ openssl rsa -in pri2048.pem -out pub2048.pem -RSAPublicKey_out
writing RSA key
 $ echo -n 'Just a test' >1.txt
 $ openssl rsautl -sign -in 1.txt -inkey pri2048.pem -out 1.bin
 $ { echo 1.bin; echo pub2048.pem; } | ./test_rsa.py
Just a test

一切OK,注意,公鑰pem從私鑰里析出必須用-RSAPublicKey_out,這樣pem文件的第一行和最后一行為以下,這樣rsa.PublicKey.load_pkcs1才會認識。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

j詳解python利用rsa庫做公鑰解密的方法

j詳解python利用rsa庫做公鑰解密的方法:RSA是一種公鑰密碼算法,RSA的密文是對代碼明文的數字的 E 次方求mod N 的結果。下面這篇文章主要給大家介紹了關于python利用rsa庫做公鑰解密的方法教程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下,希望能幫助到大家。前言對于RSA的解密,即
推薦度:
標簽: rsa 解密 python
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美伊人久久大香线蕉综合69 | 中文国产成人精品久久一 | 欧美日韩一区二区三区在线 | 欧美日韩极品 | 国产成人精品日本亚洲11 | 精品国产自在在线在线观看 | 久久久久成人精品一区二区 | 欧美国产日韩综合 | 亚洲精品小视频 | 欧美日韩国产精品 | 真人一级一级毛片免费观看 | 久久大香香蕉国产免费网vrr | 欧美激情亚洲一区中文字幕 | 国产视频首页 | 国产精品福利久久久久久小说 | 国产成人欧美一区二区三区vr | 欧美亚洲第一页 | 国产高清一区二区 | 亚洲精品毛片久久久久久久 | 国产精品毛片va一区二区三区 | 一区二区三区欧美日韩 | 欧美福利一区二区三区 | 一区二区高清在线 | 国产一区二区免费播放 | 精品国产日韩亚洲一区二区 | 国产全部视频在线播放 | 国产一区二区日韩欧美在线 | 久久一区二区精品综合 | 亚洲欧美日韩精品久久久 | 国产h视频在线观看 | 亚洲国产精品成人综合久久久 | 亚洲国产成人久久一区二区三区 | 在线视频三区 | 久久精品国产三级不卡 | 国内不卡1区2区 | 国产人成久久久精品 | 中文字幕日韩有码 | 国产精品久久久久一区二区 | 日本成本人观看免费fc2 | 久久国产一级毛片一区二区 | 国产成人精品一区二三区 |