gpt4 book ai didi

python 将 RSA key (PEM 格式)转换为十六进制字符串

转载 作者:太空宇宙 更新时间:2023-11-03 17:29:07 29 4
gpt4 key购买 nike

我想将 RSA key 转换为十六进制字符串,但不确定如何执行此操作。

我像这样生成 key :

def generate_RSA(self, bits=1024):
new_key = RSA.generate(bits, e=65537)
self.public_key = new_key.publickey().exportKey("PEM")
public_key_file = open('public_key.key', 'w')
public_key_file.write(self.public_key)
public_key_file.close()

self.private_key = new_key.exportKey("PEM")
private_key_file = open('private_key.key', 'w')
private_key_file.write(self.private_key)
private_key_file.close()

这给出了例子

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqMROLBpbqrHi4WC4XAElMXoNh
0EMODB763pcTiwpOLc72K8DqQ48BuVwKXit9uvWz1pth/2aJfXZuX2awQEPCmeUe
XtDca/ljksnq/3xo7Ph0/zoeKyJbLziLYjOgn22rxtJ9cVV7kFFm2whxFAGP0h6N
QcFrMSUaRA2x2riQNwIDAQAB
-----END PUBLIC KEY-----

这很好,但我想 (1) 去掉 PEM 文件的页眉和页脚,并 (2) 以十六进制形式发送 RSA key ,基本上是一个像这样的字符串(随机):

00a9e885395f47d47a9b58560d3f14254efa0692464756f9c0b7a046f328674a1951e1d008679d44e556bea3c747ae485e41ab0f9b24ab9cca99b8097a03e1c0e5455b983f432e5f02d6a87ba27af412efae3db9e219e9dc2627a74c1840b85048e251cee2b1abcbabf7c41de7bb5091c68ac1ac7d91f48afcea1c4bf6683c4011

我怎样才能实现这个目标?

最佳答案

你可能需要的是 DER 编码,我真的不太了解 Python,但你可能会使用类似的东西

new_key.publickey().exportKey("DER")

这将为您提供 DER 编码 key ,很可能是二进制格式,之后您要做的就是将该二进制转换为十六进制,然后就可以了。

关于python 将 RSA key (PEM 格式)转换为十六进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32145159/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com