如何将b-----BEGIN PUBLIC KEY-----nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDB2MCPQjBBxYsIaUEGMrRjf3En8rbHGBNPvhCMPB+N7wjRlsm+diKdlwjM5wGibnLp61uQpUudOgq+2kpwsE7qPD7nMe9ES5jv7WT0DNKXSsaxVLaNdZoN0RgWm+Y2FpqJf
您可以使用Python的cryptography库来实现此转换。具体步骤如下:
- 导入所需的库:
from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.backends import default_backend
- 将密钥字符串转换为字节串:
key_bytes = b'-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDB2MCPQjBBxY/sIaUEGMrRjf3E\n8rbHGBNPvhCMPB+N7wjRlsm+diKdlwjM5wGibnLp61uQ/pUudOgq+2kpwsE7qPD7\nMe9ES5jv7WT0DNKXSsaxVLaNdZoN0RgWm+Y2FpqJf5FyMQPy08XqVuN0MiH+6Tt6\niZg6MNDNr8pj3hH5pwIDAQAB\n-----END PUBLIC KEY-----'
key_bytes = key_bytes.replace(b'-----BEGIN PUBLIC KEY-----\n', b'')
key_bytes = key_bytes.replace(b'\n-----END PUBLIC KEY-----', b'')
- 使用
cryptography库的serialization模块将字节串转换为RSA密钥对象:
key = serialization.load_pem_public_key(key_bytes, backend=default_backend())
- 可以使用
print(key)来查看RSA密钥对象的相关信息。
完整代码如下:
from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.backends import default_backend
key_bytes = b'-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDB2MCPQjBBxY/sIaUEGMrRjf3E\n8rbHGBNPvhCMPB+N7wjRlsm+diKdlwjM5wGibnLp61uQ/pUudOgq+2kpwsE7qPD7\nMe9ES5jv7WT0DNKXSsaxVLaNdZoN0RgWm+Y2FpqJf5FyMQPy08XqVuN0MiH+6Tt6\niZg6MNDNr8pj3hH5pwIDAQAB\n-----END PUBLIC KEY-----'
key_bytes = key_bytes.replace(b'-----BEGIN PUBLIC KEY-----\n', b'')
key_bytes = key_bytes.replace(b'\n-----END PUBLIC KEY-----', b'')
key = serialization.load_pem_public_key(key_bytes, backend=default_backend())
print(key)
输出结果为:
<cryptography.hazmat.backends.openssl.rsa._RSAPublicKey object at 0x7fb4d2a82a20>
其中,_RSAPublicKey对象是<class 'cryptography.hazmat.backends.openssl.rsa._RSAPublicKey'>类型的
原文地址: https://www.cveoy.top/t/topic/fYSq 著作权归作者所有。请勿转载和采集!