sha1 és b nincs definiálva

szavazat
-2
 import hashlib

 email = 'email@m.com'
 pass = 'xxxxx'
 encrypted_password = hashlib.sha1(b(email + passw))

Nekem van egy probléma, mert b nem ismeri fel ebben az összefüggésben, és azt kell, hogy végezze el ezt a műveletet. Ha tettem b'astring”fog működni. Hogyan lehet megoldani ezt a problémát? Kösz.

A kérdést 11/02/2016 08:42
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
2

Ön összekeveri a b'...' szintaxis egy függvény. Nem, ez egy jelölés létrehozása bytestárgyak, csakúgy, mint a 123vagy 0xdeadbeafvagy 0o creates integer objects, and[...] `létrehoz egy listát.

A hibaüzenet, ha át egy karakterláncot megmondja, hogy mi a teendő:

>>> import hashlib
>>> hashlib.sha1('')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Unicode-objects must be encoded before hashing

Kódolni a húr, megfelelő codec. Ha azt szeretnénk, hogy támogassa a teljes Unicode tartomány jelszó karakterei (mindig jó ötlet), használja a codec például UTF-8 vagy UTF-16 vagy UTF-32:

 encrypted_password = hashlib.sha1((email + passw).encode('utf8'))
Válaszolt 11/02/2016 08:49
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more