python下RSA 加密/解密,签名/验证
2016-03-04 20:53
537 查看
基于win7 + python3.4
原文是py2环境,而我的环境是py3,所以对原代码做了修改:decode(), encode()
原文是py2环境,而我的环境是py3,所以对原代码做了修改:decode(), encode()
import rsa # 生成密钥 (pubkey, privkey) = rsa.newkeys(1024) # 保存密钥 with open('public.pem','w+') as f: f.write(pubkey.save_pkcs1().decode()) with open('private.pem','w+') as f: f.write(privkey.save_pkcs1().decode()) # 导入密钥 with open('public.pem','r') as f: pubkey = rsa.PublicKey.load_pkcs1(f.read().encode()) with open('private.pem','r') as f: privkey = rsa.PrivateKey.load_pkcs1(f.read().encode()) # 明文 message = 'hello' # 公钥加密 crypto = rsa.encrypt(message.encode(), pubkey) # 私钥解密 message = rsa.decrypt(crypto, privkey).decode() print(message) # 私钥签名 signature = rsa.sign(message.encode(), privkey, 'SHA-1') # 公钥验证 rsa.verify(message.encode(), signature, pubkey)
相关文章推荐
- 使用Python的netCDF4和matplotlib.basemap包进行气象数据的可视化
- 【LEETCODE】147- Insertion Sort List [Python]
- python之旅【第二篇】
- python字符串str和字节数组相互转化
- BFS求解N数码(python)
- python的闭包与装饰器
- python:学习的动力
- Python基础——实现对关键字的抓取
- Python 3 iter函数用法简述
- Python mysqldb: Library not loaded: libmysqlclient.18.dylib
- 学习python入门(一)
- ubuntu 切换python3 和 python2
- Python argsort()
- python 示例:始用PIL库图片操作实例 缩放与模糊
- python学习笔记二--itertools
- python学习2
- selenium grid2 初探
- Python---使用SQLite
- python的字符串基本操作
- Windows环境下配置Vim为Python的IDE