ModuleNotFoundError: No module named 'Crypto'

Rahul Thakur picture Rahul Thakur · Feb 25, 2018 · Viewed 15.4k times · Source

I installed Crypto module and SHA256 but showing ModuleNotFoundError :-

Traceback (most recent call last): File "Digitalsig.py", line 1, in from Crypto.Hash import SHA256 ModuleNotFoundError: No module named 'Crypto'

Here is the refrence code

from Crypto.Hash import SHA256
from Crypto.PublicKey import RSA
from Crypto import Random

random_generator = Random.new().read

#used to generate a keypair which contain a public and private key
keyPair = RSA.generate(1024,random_generator)
pubKey = keyPair.publicKey()

plainText = 'Hello World'
hashA = SHA256.new(plainText).digest()
digitalSignature = keyPair.sign(hashA,'')

print("Hash A: "+repr(hashA) + "\n");
print("Digital Signature: " + repr(digitalSignature) + "\n")

#Bob receives the plainText and digitalSignature from Alice 
#plainTextChanged ='Hello World'
hashB =SHA256.new(plainText).digest()
print("Hash B: " + repr(hashB) + "\n")

if(pubKey.verify(hashB, digitalSignature)):
    print("Match")
else:
    print("No Match")

Answer

Harsh Bhut picture Harsh Bhut · Feb 25, 2018

First install a module using pip

  1. Open Cmd
  2. write command pip install pycrypto (It require installation of Microsoft Visual C++ 14.0)
  3. Then use it in your code as you use in your code above