安云网 - AnYun.ORG | 专注于网络信息收集、网络数据分享、网络安全研究、网络各种猎奇八卦。
当前位置: 安云网 > 技术关注 > 编程茶楼 > Python > python实现RSA加密解密方法

python实现RSA加密解密方法

时间:2017-07-15来源:未知 作者:安云网点击:
本文主要介绍在Windows+python2.7环境下实现RSA 加密 解密 。 方法一:使用 M2Crypto 1. 安装 M2Crypto M2Crypto库本身在windows下 安装 比较麻烦,但这里我们使用大神打包好的 安装 包^^。 点击下载M2Crypto百度网盘地址 a. 根据你的系统不同下载
//内容来自安云网

本文主要介绍在Windows+python2.7环境下实现RSA加密解密//内容来自AnYun.ORG

方法一:使用M2Crypto

//内容来自AnYun.ORG

1.  安装M2Crypto //内容来自AnYun.ORG

M2Crypto库本身在windows下安装比较麻烦,但这里我们使用大神打包好的安装包^^。

点击下载M2Crypto>>>百度网盘地址

a. 根据你的系统不同下载对应的win32或win64安装包

b. 解压压缩包,进入目录中,使用 python setup.py install 命令安装即可

2. 示例

使用M2Crypto进行RSA加密示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*- coding: utf-8 -*-
from M2Crypto import RSA,BIO
 
rsa = RSA.gen_key(1024, 3, lambda *agr:None)
pub_bio = BIO.MemoryBuffer()
priv_bio = BIO.MemoryBuffer()
 
rsa.save_pub_key_bio(pub_bio)
rsa.save_key_bio(priv_bio, None)
 
pub_key = RSA.load_pub_key_bio(pub_bio)
priv_key = RSA.load_key_bio(priv_bio)
 
message = 'lovesoo.org'
 
encrypted = pub_key.public_encrypt(message, RSA.pkcs1_padding)
decrypted = priv_key.private_decrypt(encrypted, RSA.pkcs1_padding)
 
print encrypted
print decrypted

方法二:使用rsa

1. rsa库安装

pip install rsa

2. 示例

我们可以生成RSA公钥和密钥,也可以load一个.pem文件进来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# -*- coding: utf-8 -*-
import rsa
 
# 先生成一对密钥,然后保存.pem格式文件,当然也可以直接使用
(pubkey, privkey) = rsa.newkeys(1024)
 
pub = pubkey.save_pkcs1()
pubfile = open('public.pem','w+')
pubfile.write(pub)
pubfile.close()
 
pri = privkey.save_pkcs1()
prifile = open('private.pem','w+')
prifile.write(pri)
prifile.close()
 
# load公钥和密钥
message = 'lovesoo.org'
with open('public.pem') as publickfile:
    p = publickfile.read()
    pubkey = rsa.PublicKey.load_pkcs1(p)
 
with open('private.pem') as privatefile:
    p = privatefile.read()
    privkey = rsa.PrivateKey.load_pkcs1(p)
 
# 用公钥加密、再用私钥解密
crypto = rsa.encrypt(message, pubkey)
message = rsa.decrypt(crypto, privkey)
print message
 
# sign 用私钥签名认证、再用公钥验证签名
signature = rsa.sign(message, privkey, 'SHA-1')
rsa.verify('lovesoo.org', signature, pubkey)

FROM:http://lovesoo.org/python-implements-rsa-encryption-and-decryption-method.html

本文标题: python实现RSA加密解密方法 安云网
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
相关内容
推荐内容