>백엔드 개발 >파이썬 튜토리얼 >Python에서 RSA 암호화, 복호화, 서명 및 확인 기능을 구현하는 방법에 대한 분석 예

Python에서 RSA 암호화, 복호화, 서명 및 확인 기능을 구현하는 방법에 대한 분석 예

黄舟
黄舟원래의
2017-07-17 14:58:171783검색

이 글에서는 주로 Python에서 구현되는 RSA 암호화/복호화 및 서명/검증 기능을 소개합니다. Python에서 RSA 암호화/복호화 구현 방법과 서명 및 검증 기능의 사용 기술을 구체적인 예와 함께 분석합니다. 필요하시면 다음을 참고하시면 됩니다.

본 글의 예시에서는 Python에서 구현한 RSA 암호화/복호화 및 서명/검증 기능을 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

원본 텍스트는 py2 환경이고 제 환경은 py3이므로 원본 코드가 수정되었습니다: decode(), encode()

import rsa
# 生成密钥
(pubkey, privkey) = rsa.newkeys(1024)
# 保存密钥
with open('public.pem','w+') as f:
  f.write(pubkey.save_pkcs1().decode())
with open('private.pem','w+') as f:
  f.write(privkey.save_pkcs1().decode())
# 导入密钥
with open('public.pem','r') as f:
  pubkey = rsa.PublicKey.load_pkcs1(f.read().encode())
with open('private.pem','r') as f:
  privkey = rsa.PrivateKey.load_pkcs1(f.read().encode())
# 明文
message = 'hello'
# 公钥加密
crypto = rsa.encrypt(message.encode(), pubkey)
# 私钥解密
message = rsa.decrypt(crypto, privkey).decode()
print(message)
# 私钥签名
signature = rsa.sign(message.encode(), privkey, 'SHA-1')
# 公钥验证
rsa.verify(message.encode(), signature, pubkey)

개선된 버전:

아아아아

위 내용은 Python에서 RSA 암호화, 복호화, 서명 및 확인 기능을 구현하는 방법에 대한 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.