Maison >développement back-end >Tutoriel Python >Explication détaillée de la lecture des clés publiques et privées pour le chiffrement et le déchiffrement sous python

Explication détaillée de la lecture des clés publiques et privées pour le chiffrement et le déchiffrement sous python

Y2J
Y2Joriginal
2017-04-20 09:58:252730parcourir

Cet article présente principalement des informations pertinentes sur la lecture des clés publiques et privées pour le cryptage et le déchiffrement sous python. Les amis qui en ont besoin peuvent se référer à

Explication détaillée de la lecture des clés publiques et privées pour le cryptage et le déchiffrement. sous python.

Dans RSA, un mode d'application est le cryptage par clé publique et le déchiffrement par clé privée (l'autre est la signature par clé privée et la vérification de la signature par clé publique). Voici des exemples d'applications sous Python.

Supposons que j'ai un fichier de clé publique, rsa_pub.pem, et que je souhaite lire cette clé publique et l'utiliser pour chiffrer.


from M2Crypto import RSA,BIO

  fp = file('rsa_pub.pem','rb');
  pub_key_str = fp.read();
  fp.close();

  mb = BIO.MemoryBuffer(pub_key_str);
  pub_key = RSA.load_pub_key_bio(mb);

  data = '12345678';
  en_data = pub_key.public_encrypt(data,RSA.pkcs1_padding);

  ...

Fichier de clé privée rsa_private.pem, lisez la clé privée et utilisez-la pour décrypter


from M2Crypto import RSA,BIO

  private_key_str = file('rsa_private.pem','rb').read();
  private_key = RSA.load_key_string(private_key_str);
  data = 'sdfdjslfjaskldfjdsklfjsd';
  de_data = private_key.private_decrypt(data,RSA.pkcs1_padding);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn