Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide crypto

    28 février 2021 à 17:20:20

    Bonjour,

    Je souhaite faire un programme ou je stocke un identifiant et un mot de passe crypté. Evidemment a un moment j'en ai besoin.

    J'ai le bout de code pour obtenir le mot de passe et l'identifiant puis les décrypter:

    import Crypto
    from Crypto.PublicKey import RSA
    from Crypto.Cipher import PKCS1_OAEP
    
    #on charge les clés
    with open('data/private.pem','r') as fk:
    	priv = fk.read()
    	fk.close()
    
    with open('data/public.pem','r') as fp:
    	pub = fp.read()
    	fp.close()
    
    privKey = RSA.importKey(priv)
    pubKey = RSA.importKey(pub)
    
    #on charge l'identifiant et le mot de passe
    idsFile=open("data/id.txt",'r')
    userId = idsFile.read()
    idsFile.close()
    idsFile=open("data/mdp.txt",'r')
    userMdp = idsFile.read()
    idsFile.close()
    
    #on les convertis en bytes pour être décryptés
    userId = bytes(userId, encoding="UTF-8")
    userMdp = bytes(userMdp, encoding="UTF-8")
    
    #on décrypte
    decryptor = PKCS1_OAEP.new(privKey)
    
    userId = decryptor.decrypt(userId)
    userId = decryptor.decode('utf-8')
    
    userMdp = decryptor.decrypt(userMdp)
    userMdp = decryptor.decode('utf-8')
    
    print(userId)
    print(userMdp)
    

    Cependant, j'obtiens l'erreur suivante:

    Traceback (most recent call last):
      File "C:\Users\x\Desktop\x\v.2.0\testcfdjghdf.py", line 28, in <module>
        userId = decryptor.decrypt(userId)
      File "C:\Users\x\AppData\Local\Programs\Python\Python39\lib\site-packages\Crypto\Cipher\PKCS1_OAEP.py", line 167, in decrypt
        raise ValueError("Ciphertext with incorrect length.")
    ValueError: Ciphertext with incorrect length.
    

    J'avoue que je ne comprend pas du tout cette erreur...

    Merci beaucoup pour votre aide !


    • Partager sur Facebook
    • Partager sur Twitter
      1 mars 2021 à 9:52:24

      Note qu'avec with open tu n'as pas besoin de close, le fichier est automatiquement fermé en sortie du bloc with.

      Sinon c'est difficile de t'aider car on ne sait pas comment tu as généré les fichiers. Par ex es tu sûr qu'il faut encoder en utf-8 ? Pourquoi ne pas ouvrir directement les fichiers en mode binaire ?

      • Partager sur Facebook
      • Partager sur Twitter

      Aide crypto

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown