class format_rsa():
"""
公钥格式pem,处理成以-----BEGIN PUBLIC KEY-----开头,-----END PUBLIC KEY-----结尾的格式
"""
# 处理私钥格式
def handle_pri_key(self, key_pri, flag):
start = '-----BEGIN RSA PRIVATE KEY-----\n'
end = '-----END RSA PRIVATE KEY-----'
if flag == 1:
key_pri = pri_key.replace('\n', '')
result = ''
# 分割key,每64位长度换一行
length = len(key_pri)
divide = 64 # 切片长度
offset = 0 # 拼接长度
while length - offset > 0:
if length - offset > divide:
result += key_pri[offset:offset + divide] + '\n'
else:
result += key_pri[offset:] + '\n'
offset += divide
result = start + result + end
x = open(r"D:\vicky\demo\rsa_private.pem", "wb")
x.write(result.encode("utf-8"))
x.close()
# 处理公钥格式
def handle_pub_key(self, pub_key,flag):
start = '-----BEGIN PUBLIC KEY-----\n'
end = '-----END PUBLIC KEY-----'
if flag == 1:
pub_key = pub_key.replace('\n', '')
result = ''
# 分割key,每64位长度换一行
length = len(pub_key)
divide = 64 # 切片长度
offset = 0 # 拼接长度
while length - offset > 0:
if length - offset > divide:
result += pub_key[offset:offset + divide] + '\n'
else:
result += pub_key[offset:] + '\n'
offset += divide
result = start + result + end
x = open(r"D:\vicky\demo\rsa_public.pem", "wb")
x.write(result.encode("utf-8"))
x.close()
if __name__ == '__main__':
pub_key = ''
pri_key = ''
print(pub_key)
print('\n')
print(pri_key)
flag = 1 #如果需转换的私钥带换行符\n,则赋值为1,否则赋值为0
r = format_rsa()
r.handle_pri_key(pri_key, flag)
r.handle_pub_key(pub_key, flag)
python3 格式化带换行符的RSA公私钥
最新推荐文章于 2022-05-09 16:48:24 发布