在 python 中执行此操作(我在 Ruby 中执行此操作)最优雅的方法是什么。
private_key = base64data.to_s.sub('-----BEGIN RSA PRIVATE KEY-----', '')
private_key = private_key.sub('-----END RSA PRIVATE KEY-----', '')
基本上我需要剥离私钥字符串的页眉和页脚。
问候。
直截了当:
private_key = private_key.replace('-----BEGIN RSA PRIVATE KEY-----', '')
private_key = private_key.replace('-----END RSA PRIVATE KEY-----', '')
在 Pythonstr.replace()
中相当于sub
在 Ruby 中:
private_key = base64data.replace('-----BEGIN RSA PRIVATE KEY-----', '')
private_key = private_key.replace('-----END RSA PRIVATE KEY-----', '')
或者使用正则表达式:
import re
private_key = re.sub(r'-----(BEGIN|END) RSA PRIVATE KEY-----', '', base64data)
pyasn1文档对此有一个很好的衬里。打开密钥文件,在读取过程中删除第一行和最后一行,然后将其他所有内容重新连接在一起。
with open('.ssh/id_rsa') as key_file:
b64_serialisation = ''.join(key_file.readlines()[1:-1])