这是使用 PKCS -> DER SEQUENCE(二进制或 PEM 编码)生成长度为 2048 的密钥的示例
from Crypto.PublicKey import RSA
private_key_start_comment = '-----BEGIN RSA PRIVATE KEY-----'
private_key_end_comment = '-----END RSA PRIVATE KEY-----'
public_key_start_comment = '-----BEGIN PUBLIC KEY-----'
public_key_end_comment = '-----END PUBLIC KEY-----'
keypair = RSA.generate(2048)
pubkey = keypair.publickey()
public_key_pem = pubkey.exportKey(format='PEM', passphrase=None, pkcs=1)
public_key_final = str(public_key_pem.decode('ascii')).replace('\n','').replace(public_key_start_comment,'').replace(public_key_end_comment,'').replace(' ','')
print('\n public_key_final - ' + public_key_final)
private_key_pem = keypair.exportKey(format='PEM', passphrase=None, pkcs=1)
private_key_final = str(private_key_pem.decode('ascii')).replace('\n','').replace(private_key_start_comment,'').replace(private_key_end_comment,'').replace(' ','')
print('\n private_key_final - ' + private_key_final)
Sample Output:
public_key_final - MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvUC4fYGPHPTraHoozf8xkSwHL4pPqcleSTtiOXvx8X4eJ7D8UAFSi5EkgGfNhzM/EWTUfPLuAH948eJorB25giVnJRzEShvsBVFVF0uTS9avwQWD1EWIoc60cH4l6GuqoAckLtqpUOvHglwBJvjeR4WenxQHV/U7WgJfou04RZQ3sosrg1hfNoWJo79LUzjzPHe+WKqXri0rtLj/JAKofQzs1mWkRKvZkGvWVk/AjCurKs/bjMuCmBd7fddL3XvOAu7bw+tETFyT54nkIOQq2Sw4I8fvcNeA6uNJL6EZMUgSj2GYXAJLOc+bwon6fH95LwaXLliMgF4FXjMlo5sbfwIDAQAB
private_key_final - MIIEogIBAAKCAQEAvUC4fYGPHPTraHoozf8xkSwHL4pPqcleSTtiOXvx8X4eJ7D8UAFSi5EkgGfNhzM/EWTUfPLuAH948eJorB25giVnJRzEShvsBVFVF0uTS9avwQWD1EWIoc60cH4l6GuqoAckLtqpUOvHglwBJvjeR4WenxQHV/U7WgJfou04RZQ3sosrg1hfNoWJo79LUzjzPHe+WKqXri0rtLj/JAKofQzs1mWkRKvZkGvWVk/AjCurKs/bjMuCmBd7fddL3XvOAu7bw+tETFyT54nkIOQq2Sw4I8fvcNeA6uNJL6EZMUgSj2GYXAJLOc+bwon6fH95LwaXLliMgF4FXjMlo5sbfwIDAQABAoIBAA1fIcnoWgrDOVDP9MsdQUzPDhDrVlaaPjmxYu7J1Z3o+ct3I1Spy0HGNwyFiQ2I7udVNvg/F9bcKtj4VMn4ba+G4gNKxYmw8Fut0/PJ6LXejNt3/skEQrOgDbq3BwmlddBJwOI4m+b2Scnpo0E0K0xlYgA+Y4hw8MkaytQRq7yqrW31uq7ueN2eJH+akpBiG7MWfEqP3UonWhSfl2yGIc/5rhF/5FcEnKGfSuiLJAE/Bzlv59ozi/+P9UPeIN95QThQL8+nThzD078L0X4ZeFkJrcXQwjkY5pIrBjOckrXFFxWdO3faYE1VAiTjoGTJjBX+F5YA3MOHRtkak7zl8HECgYEAwkbs+KCpL+VDdPSXagMrd+UcbvxCjpUXZsbkxM9OLjhaJbbjJojkSchgBcci7e9xm5Zj1vCFem2WyRmohmlk/WTu+nRpxPTw4veBDFXgRbwXZaxXryMBEZLiOrZ/ZK0SVwLtGxAFJ4z0ZhDOtUofpGwGRVGoE1btvC0euEst6FECgYEA+WEpA1S63H6emEco3bGmXpwJ76/EuuU/OHMc9BWJwDnyGuYD0CRFodjNSPPnGtlfj1jC910WcpW0NHXaMtuo3mg9S6lIgsr/ooPdW9HRQZshjF1enOpYJz9efxUa1PpPnUS7apPznyTkTjgWliPBKx2awXp6Mhknnqt8e7+pos8CgYBiUqL78dOuecl6F4/KB3CobTvGr8S/hJUjXuXI9WIL4lk9XSH5Dq766H4wbmgvI0/L/oDo9zGWlIALpwCzhgOmer634tLk61I+jCSzqYKnyFnPCzoVWRHhYwU70cEHos/1WXXGjIUPTzchsL/s4GbDQCisTHdT0lrfMbaqbuH9AQKBgC8Vzz6Xwuha5+rslKS3JCh84ctlrolzO2qXIYJchrPKvRGjGFk2YAdc/fWmR55kKIzSP42g/9oGtg2pqtcrbkj/+YLNpak8VuQCbcsmZJI0jjMIdhK+lIJkjp0ECRrpYBrbnV9ULA2CU7EJGgqjGZfgcRXS4DuRUE+/JTPgTlE1AoGAJsDjhHbcw3ftuQBM5lwlXiLRhgmCrNhfMzRS9HR2sBZU+LKrq0QLjYyLPf0GBPzKkGWV0rLpYpVIhJF0fbF58DSPMuKF/2VsbWVizVWuWCrMuasgM71wTCB0/+V4qS3wbEeHP8BMw6PtnIHEW8vsZaiuZCLOY+h9lOs+tBBKO98=