在python中对rsa密钥的简单分析1

rsa密钥的生成、主要构成、序列化及反序列化

import rsa
# 生成密钥(1024太长了,就用16意思一下)
public, private = rsa.newkeys(16)
print(private.d, private.n)
print(public.e, public.n)
'''
输出:随机生成,所以会不一样
PublicKey(55973, 65537)对于公钥来说,主要是由两个数构成 e, n
PrivateKey(55973, 65537, 52973, 251, 223)对于私钥,由多个数据构成,最重要的部分是d, n
'''
# 序列化到本地
'''
-----BEGIN RSA PUBLIC KEY-----
MAoCAwCHEwIDAQAB
-----END RSA PUBLIC KEY-----
'''
pub = public.save_pkcs1()
with open('public.pem','wb')as f:
    f.write(pub)
'''
-----BEGIN RSA PRIVATE KEY-----
MCMCAQACAwCHEwIDAQABAgJ3CQICAOUCAgCXAgIAlQIBFwIBWw==
-----END RSA PRIVATE KEY-----
'''
pri = private.save_pkcs1()
with open('private.pem','wb')as f:
    f.write(pri)
# 从本地读取pem
with open('public.pem','rb')as f:
    pub_key = rsa.PublicKey.load_pkcs1(f.read())
with open("private.pem", 'rb') as f:
    pri_key = rsa.PrivateKey.load_pkcs1(f.read())



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值