国产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
當前位置: 首頁 - 科技 - 知識百科 - 正文

M2CryptoRSA加密、解密的實例介紹

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

M2CryptoRSA加密、解密的實例介紹

M2CryptoRSA加密、解密的實例介紹:M2Crypto 模塊快速安裝:# 環境centos7.0,提前裝好openssl(自行百度安裝),windows裝不上,暫不考慮了 [root@localhost ~]# pip install m2crypto # 驗證 >>> import M2Crypto >>>先做準備工作:#
推薦度:
導讀M2CryptoRSA加密、解密的實例介紹:M2Crypto 模塊快速安裝:# 環境centos7.0,提前裝好openssl(自行百度安裝),windows裝不上,暫不考慮了 [root@localhost ~]# pip install m2crypto # 驗證 >>> import M2Crypto >>>先做準備工作:#

M2Crypto 模塊

快速安裝:

# 環境centos7.0,提前裝好openssl(自行百度安裝),windows裝不上,暫不考慮了

[root@localhost ~]# pip install m2crypto

# 驗證
>>> import M2Crypto
>>>

先做準備工作:

# centos系統上執行以下命令生成公鑰和私鑰

[root@localhost ~]# openssl genrsa -out key.pem 1024
[root@localhost ~]# openssl rsa -in key.pem -pubout -out pubkey.pem
-----BEGIN RSA PRIVATE KEY-----MIICXAIBAAKBgQDhhyVxmY/TU/buuIfwlykV1d5Wg5PRu4Qu14LssRhZH9E9pVbX
lGeP1Q8iJEErHt4Rk5tsFgavDf+L5QIM8zpmydJqbivUJCY/5b9zSwVSnDhFfGaj
LY4Bj7Fq0yngRkxwUVaTmJ/u0FiKzy1mpnk0Xmj/pk7AburWj3YHVsYtuwIDAQAB
AoGATYKhP9XDNKJa79jD/9Az8qk6bQlzuFV2LJMtECQddiQVSdaVbio3HZvgQ5+q
NiO5ttjARfmb+nYZKf9fIQxHOX9GJeepzkvltZJO0LheS0+ZsX2ab62cv8ThUndf
yp/thuqHHXt7ERYIHS7CzvzPUQ303OEA9a6WLDaTL/MpjEECQQD5G5cJrEAL1rGF
0ELSRl0YRRRyywmGmc0Wlx0VHCyqG0/5GgmPJmB+8t7k7CtTgRhzStYSmwExzioh
ylL3vpgTAkEA58SKxKezIGcuFbCB54yuWEtgauYNrBYauQLC7+Z9d6NjFUrcHO00
1cVJ0cvIK++hvvOrCIUpq/86N8JFUyWYuQJACnH5t1IdrWFnODEvXBnPNYFQBjA1
SguQ6e2ULppr1QYoKE3LMNFvImOUrQyqFGpJWCw/JbCSMEBwy9HsAK9hOQJAIV6v
DDmJFPVGMWFEku4yfAv+SeXtugVEu7amEpyBHCSuM3af0ppkrRLG2ioZHBpYk4HJ
8mQZ5+XLoBOcn6geIQJBAIcFTwZETKFs1h6dov3Bp6EPq8zZBABvy7fhCsQk9uX6
6lI0pty9E3KUWGTw4AVp3EwGTc7OqLfiZQTgV65eBcA=
-----END RSA PRIVATE KEY-----
key.pem
-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDhhyVxmY/TU/buuIfwlykV1d5W
g5PRu4Qu14LssRhZH9E9pVbXlGeP1Q8iJEErHt4Rk5tsFgavDf+L5QIM8zpmydJq
bivUJCY/5b9zSwVSnDhFfGajLY4Bj7Fq0yngRkxwUVaTmJ/u0FiKzy1mpnk0Xmj/pk7AburWj3YHVsYtuwIDAQAB-----END PUBLIC KEY-----
pubkey.pem

如何使用

1、私鑰加密:

import M2Crypto
import json

# 私鑰加密
def pri_encrypt(msg, file_name):
 rsa_pri = M2Crypto.RSA.load_key(file_name) # 導入秘鑰 <M2Crypto.RSA.RSA instance at 0x24da8c0>
 ctxt_pri = rsa_pri.private_encrypt(msg, M2Crypto.RSA.pkcs1_padding) # 這里的方法選擇加密填充方式,所以在解密的時候 要對應。
 print(ctxt_pri,type(ctxt_pri))
 ctxt64_pri = ctxt_pri.encode('base64') # 密文是base64 只能寫base64 方便保存 encode成str
 print ('密文:%s'% ctxt64_pri,type(ctxt64_pri))
 return ctxt64_pri

prikey_file = 'key.pem'
data = {'name':'Jefrey'}
message = json.dumps(data)

pri_encrypt(message,prikey_file)

# 打印
# ("x8exc8 x98xeaxd5%&xe3xfaxa5xbbu];zZxf0xc1xddxf3x8fxaaxdcxfaxbcxacgxfdx0b3xbbax94Kx91taxda
# xdfxd05xecVxb1xffxf0xc4x07xbfx1cxe0xfcx84&xfcpxf5\xabxd8xf2#xfcxce:]xbae]W47xf7xc9x9aXtxff
# xe9xdax19x82xecDPxb2xcbxd3x8d@x81F'x9f}xfbx8bxb1o>x91xf0Gxc36x19Qxf8x7fxafxbexa2xeexf0Vx88
# xbd[x1e3xafxf0xd3xebuxa9", <type 'str'>)
# ('xe5xafx86xe6x96x87:jsggmOrVJSbj+qW7dV07elrwwd3zj6rc+rysZ/0LM7thlEuRdGHaIN/QNexWsf/wxAe/HOD8hCb8
cPVcq9jyI/zO
# Ol26ZV1XNDf3yZpYdP/p2hmC7ERQssvTjUCBRiefffuLsW8+kfBHwzYZUfh/r76i
7vBWiL1bHjOv8NPrdak=
', <type 'str'>)

2、公鑰解密(文件路徑):

import M2Crypto
import json

# 私鑰加密
def pri_encrypt(msg, file_name):
 rsa_pri = M2Crypto.RSA.load_key(file_name) # 導入秘鑰
 ctxt_pri = rsa_pri.private_encrypt(msg, M2Crypto.RSA.pkcs1_padding) # 進行加密 pkcs1_padding加密填充方式,解密的時候要對應。
 ctxt64_pri = ctxt_pri.encode('base64') # 密文是base64 只能寫base64 方便保存 encode成str
 print ('密文:%s'% ctxt64_pri,type(ctxt64_pri))
 return ctxt64_pri

# 公鑰解密傳入文件路徑
def pub_decrypt(msg, file_name):
 rsa_pub = M2Crypto.RSA.load_pub_key(file_name)
 ctxt_pri = msg.decode("base64") # 先將str轉成base64
 maxlength = 128 # 128位
 output = ''
 while ctxt_pri:
 input = ctxt_pri[:128]
 ctxt_pri = ctxt_pri[128:]
 out = rsa_pub.public_decrypt(input, M2Crypto.RSA.pkcs1_padding) #解密
 output = output + out
 print('明文:%s'% output,type(output))
 print('Json:%s'% json.loads(output),type(json.loads(output)))

prikey_file = 'key.pem'
pubkey_file = 'pubkey.pem'
data = {'name':'Jefrey'}
message = json.dumps(data)

primsg = pri_encrypt(message,prikey_file)
pub_decrypt(primsg,pubkey_file)

# 打印
# ('xe6x98x8exe6x96x87:{"name": "Jefrey"}', <type 'str'>)
# ("Json:{u'name': u'Jefrey'}", <type 'dict'>)

3、公鑰解密(字符串):

import M2Crypto
import json

# 私鑰加密
def pri_encrypt(msg, file_name):
 rsa_pri = M2Crypto.RSA.load_key(file_name) # 導入秘鑰
 ctxt_pri = rsa_pri.private_encrypt(msg, M2Crypto.RSA.pkcs1_padding) # 進行加密 pkcs1_padding加密填充方式,解密的時候要對應。
 ctxt64_pri = ctxt_pri.encode('base64') # 密文是base64 只能寫base64 方便保存 encode成str
 # print ('密文:%s'% ctxt64_pri,type(ctxt64_pri))
 return ctxt64_pri

# 公鑰解密傳入字符串
def pub_decrypt(msg, pub_key):
 bio = M2Crypto.BIO.MemoryBuffer(pub_key)
 rsa_pub = M2Crypto.RSA.load_pub_key_bio(bio)
 ctxt_pri = msg.decode("base64") # 先將str轉成base64
 output = rsa_pub.public_decrypt(ctxt_pri, M2Crypto.RSA.pkcs1_padding) #解密
 print('明文:%s'% output,type(output))
 print('Json:%s'% json.loads(output),type(json.loads(output)))

prikey_file = 'key.pem'
pubkey_file = 'pubkey.pem'
data = {'name':'Jefrey'}
message = json.dumps(data)

primsg = pri_encrypt(message,prikey_file)
with open(pubkey_file,'r+') as f:
 pub_key = f.read()
pub_decrypt(primsg,pub_key)

# 打印
# ('xe6x98x8exe6x96x87:{"name": "Jefrey"}', <type 'str'>)
# ("Json:{u'name': u'Jefrey'}", <type 'dict'>)

小結:上面寫的是私鑰加密,公鑰解密;反過來也一樣,public_encrypt公鑰加密,private_decrypt私鑰解密;

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

文檔

M2CryptoRSA加密、解密的實例介紹

M2CryptoRSA加密、解密的實例介紹:M2Crypto 模塊快速安裝:# 環境centos7.0,提前裝好openssl(自行百度安裝),windows裝不上,暫不考慮了 [root@localhost ~]# pip install m2crypto # 驗證 >>> import M2Crypto >>>先做準備工作:#
推薦度:
標簽: 加密 rsa 解密
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲欧美一区二区三区九九九 | 国产精品一区二区av | 国产精品永久免费自在线观看 | 欧美色图在线观看 | 中文字幕欧美日韩 | 伊人一区 | 国产人成精品综合欧美成人 | 国产精品伊人 | 国产日韩欧美亚洲综合在线 | 四虎91视频| 91精品国产亚一区二区三区 | 亚洲精品乱码久久久久久中文字幕 | 欧美另类网| 毛片免费观看成人 | 国产浴室偷窥在线播放 | 欧美人与禽x0x0牲伦交 | 国产中文在线观看 | 亚洲国产一区二区三区在线观看 | 日本aⅴ精品一区二区三区久久 | 精品欧美一区二区在线观看 | 精品国产电影在线看免费观看 | 成人免费久久精品国产片久久影院 | 日韩国产欧美视频 | 日韩欧美一区二区三区在线播放 | 国产成人+综合亚洲+天堂 | 久久国产热 | 久久精品一| 亚洲欧美国产高清va在线播放 | 国产精品一二三区 | 欧美综合亚洲 | 午夜视频免费看 | 日韩在线激情 | 国产精品成人h片在线 | 99精品视频在线观看免费播放 | 国产在线91区精品 | 国产一级做a爰片在线看 | 久久成人a毛片免费观看网站 | 国产丝袜美女一区二区三区 | 国产高清在线看 | 日韩在线一区二区三区 | 日本一区二区三区视频在线观看 |