剥除页眉和页脚

时间:2013-11-04 17:44:50

标签: python ruby

在python中执行此操作(我在Ruby中执行)的最优雅方法是什么。

private_key = base64data.to_s.sub('-----BEGIN RSA PRIVATE KEY-----', '')
private_key = private_key.sub('-----END RSA PRIVATE KEY-----', '')

基本上我需要删除私钥字符串的页眉和页脚。

问候。

3 个答案:

答案 0 :(得分:1)

直接前进:

private_key = private_key.replace('-----BEGIN RSA PRIVATE KEY-----', '')
private_key = private_key.replace('-----END RSA PRIVATE KEY-----', '')

答案 1 :(得分:1)

在Python中str.replace()相当于Ruby中的sub

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)

答案 2 :(得分:0)

pyasn1 documentation为此提供了很好的衬板。密钥文件被打开,在读取过程中剥离了第一行和最后一行,然后将其他所有内容重新连接在一起。

with open('.ssh/id_rsa') as key_file:
    b64_serialisation = ''.join(key_file.readlines()[1:-1])