Tôi đang sử dụng RSA để mã hóa/giải mã khóa phiên của mình bằng Python. Tôi đang sử dụng thư viện Pycrypto. Sau khi tạo cặp khóa, tôi muốn trích xuất khóa cá nhân và khóa công khai từ khóa đã tạo và lưu trữ chúng trong các tệp khác nhau. Tôi có thể làm cái này như thế nào? Tôi có thể thấy phương thức Private có thể cho biết rằng cặp khóa được tạo ra có thành phần riêng nhưng không thể tìm thấy cách trích xuất cả hai khóa từ cặp khóa được tạo ra này. Bất kỳ đề xuất nào cũng sẽ hữu ích.Sử dụng RSA trong Python
17
A
Trả lời
40
Nếu bạn muốn nhận được phần theo từ họ quan trọng, có key
thuộc tính cho rằng:
>>> from Crypto.PublicKey import RSA
>>> RSAkey = RSA.generate(1024)
>>> getattr(RSAkey.key, 'n')
13773...L
>>> getattr(RSAkey.key, 'p')
11731...L
>>> getattr(RSAkey.key, 'q')
11740...L
linh kiện có sẵn là 'n', 'e', 'd', 'p', 'q ', 'u'
Nếu bạn chỉ muốn lưu nó trong PEM, bạn nên sử dụng phương pháp exportKey()
(có sẵn từ 2,2)
>>> private = RSA.generate(1024)
>>> public = private.publickey()
>>> private.exportKey()
'-----BEGIN RSA PRIVATE KEY-----\nMIICXgIBAAKBgQDo1M0P3nryaF8ZITv8vCFVnjUJ1mnIsrqXZRTzjin69xepr3cz\nKicG3EYSUqMODQAsvMj0tGMo+ElGOVOkPFLVVBHd8izgA/E1RqUzbUDMj4WnhlhA\nQq7tNaViOXNaZ7krJZHabZKxfYvLAQtm4tr+m5NtXPBaWvjwhd5M9xvktwIDAQAB\nAoGBANVsS1Rikbymo5V7e2teYAgFb4THAEyyWIvyYlQnWp/r48rtRoyl9QQ64hhl\nm4WDsUdQ/bwhpkul3DT804jWqu2V71p68rQP7h5D6ldCBUr5nQc9o/uEyy4YCgxD\n/ZxNiY5Bb/lMP9nhb2NbG4184mhUMHu+06wWX6RrXQtMtjYhAkEA8DioToMZIy3s\nhPohri3CAgByV2Jxf7JPqVZ93JjlSlBz+aybSv1mOJUPRFpkMk2xiPmHtEn16hYr\nesVK11tcjwJBAPgf4QYAw9dV+DuVqdwz+kmTjnlkr0Q7fjaGfl60DWmuLWmxiRhe\nMYQ2+8iyPDmxcPFTGSpGqyvyJDjQ/wOlWVkCQQCRIuotZW/OnXSFc0reHa9V3kc3\nHLdOW8FdonAw0//Uwn8PnoXE7QzRqt2qgqJ+8goNpBWli/oUEIj8iC8LpptpAkBV\nFFlMfaaph8j+ZWtBHnGMGRSZe3S9qMi2WZerUYHn4tmfjEi+Gk5QT6o2Pyd3gOiB\nV0Uhwemfv/+7m65VybTBAkEA5H59kG+B9HHD5hJtksAtMh8dxk/MI8G0csduU0vu\n7K5ejL522XsHurVrWdqnk6KvjlRXqB4FsMWLE6RBgBNV0A==\n-----END RSA PRIVATE KEY-----'
>>> public.exportKey()
'-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDo1M0P3nryaF8ZITv8vCFVnjUJ\n1mnIsrqXZRTzjin69xepr3czKicG3EYSUqMODQAsvMj0tGMo+ElGOVOkPFLVVBHd\n8izgA/E1RqUzbUDMj4WnhlhAQq7tNaViOXNaZ7krJZHabZKxfYvLAQtm4tr+m5Nt\nXPBaWvjwhd5M9xvktwIDAQAB\n-----END PUBLIC KEY-----'
Các vấn đề liên quan
- 1. Sử dụng RSA trong C#
- 2. ssh sử dụng python không có khóa RSA
- 3. Cách tải khóa RSA từ tệp PEM và sử dụng khóa đó trong python-crypto
- 4. Triển khai đầy đủ RSA bằng Python
- 5. Giải mã C# RSA sử dụng Lâu đài Bouncy
- 6. Sử dụng khóa RSA do Crypto ++ tạo trên OpenSSL
- 7. Lưu khóa RSA vào một tệp, sử dụng pycrypto
- 8. Mã RSA trong MATLAB
- 9. xác thực khóa công khai ssh-rsa bằng cách sử dụng cụm từ thông dụng
- 10. Mã hóa RSA trong Android
- 11. Sử dụng Khóa công cộng RSA để giải mã một chuỗi đã được mã hóa bằng Khóa riêng RSA
- 12. RSA: Cách tạo khóa riêng trong java và sử dụng nó trong C#?
- 13. Cách tải bằng Python-RSA một khóa RSA công khai từ một tệp được tạo bằng openssl?
- 14. Mã hóa và giải mã chuỗi lớn trong java bằng cách sử dụng RSA
- 15. cách sử dụng RSA để mã hóa các tệp (dữ liệu lớn) trong C#
- 16. Sử dụng lambda trong Python
- 17. Tạo khóa RSA riêng trong C#
- 18. Tạo cặp khóa RSA trong JavaScript
- 19. Chuyển khóa công cộng RSA thành RSA DER
- 20. Tích hợp RSA SecurID vào ứng dụng web mà không cần chạy Trình quản lý xác thực RSA
- 21. Sử dụng Base64 mã hóa Public Key để xác minh chữ ký RSA
- 22. Sử dụng mã Python trong C/C++
- 23. Sử dụng lệnh Git trong mã Python
- 24. sử dụng python sqlite trong terminal -django
- 25. Sử dụng đúng các mutex trong Python
- 26. Sử dụng số phức trong python
- 27. Sử dụng đúng subprocess.PIPE trong python?
- 28. Sử dụng email.HeaderParser với imaplib.fetch trong python?
- 29. cách sử dụng tempfile.NamedTemporaryFile() trong python
- 30. Cách sử dụng SVG DOM trong Python