0
MD5 encryption
I've coded a program to create a MD5. You can see the code in my library. I would love to know if someone of you can tell me how to make it working in "Python 3". It was coded in "Python 2.7". One error I've seen is that "print" requires () in python3. But my main concern is on the "hashlib.md5" library. Hope someone of you can help me. Thanks
4 Antworten
+ 10
About changes from 2 to 3 in "print":
- require ( ) as it's now a function, no more a statement
- raw_input is becomes unecessary with 3
About adaptation of md5 use:
- just change type of parameter from unicode to Python root byte string:
import hashlib
import time
from random import randint
salt= randint(0,99999999)
loop=3
while loop==3:
key_string = input( "Key to turn into an MD5 password? " )
print(key_string)
print( hashlib.md5(key_string.encode("utf-8")).hexdigest())
time.sleep(1.5)
option= input("Would you like to salt it? (Y/N)").lower()
if option == 'y':
hash = hashlib.md5( (str(salt) + key_string).encode("utf-8")).hexdigest()
print("%s:%s" % (salt, hash) )
time.sleep(1)
options=input("Would you like to encrypt another hash? (Y/N)").lower()
if options=='y':
loop=3
if options=='n':
loop=0
if option == 'n':
options=input("Would you like to encrypt another hash? (Y/N)").lower()
if options=='y':
loop=3
if options=='n':
loop=0
if loop==0:
print("Ok,bye!")
time.sleep(2)
exit
+ 9
User inputs are handled in a special way at sololearn code playground: you need to put all the entries needed by your script at once, just after start running, each separated on a new line ( but single entry )... in example:
Text to encode
y
n
0
thank you very much for your reply!
I've made the changes, but now it give me: eoferror: error when reading a line", referring to line 30.
I'll try to find a solution soon!
0
thanks again for your help!!