Alen Mistric Skrevet 11. januar 2017 Del Skrevet 11. januar 2017 Hei! Jeg benytter meg av Python 3.5 på min OpenBSD maskin hvor jeg prøver å bruke crypt eller scrypt til hashing av passord. Så langt har jeg mislykkes ved å bruke crypt() modulen, og jeg mistenker at det kan ha noe med C kompilatoren til OpenBSD å gjøre. Har fått en bekjent til å prøve ut samme kodesnutt på en Linux maskin der han faktisk får en generert en gyldig hash. Her har du et eksempel: >>> import crypt >>> print(crypt.crypt('test', crypt.mksalt(crypt.METHOD_SHA512))) None Jeg vet dessverre ikke hvor jeg skal starte for å feilsøke dette. Har derimot prøvd med på andre alternativer, nemlig ved å bruke passlib modulen, men her får jeg bare generert en merkelig hash. Se eksempel under: >>> from passlib.hash import sha512_crypt >>> sha512_crypt.hash('test') '$6$rounds=656000$4AFD.o2kwc95jlqg$QVqu6D4zoMi44jx/q550pkeY8EsH9pt7m0an6sO9LX/H0uCLZYvTi8co3S1eXmZovv0sQOBMZOmFMItYCTInN0' Dette er vel ikke en 128 char gyldig hash, eller? Sist men ikke minst har jeg forsøkt med scrypt og pysodium modulen (https://pypi.python.org/pypi/pysodium). Her får jeg generert en gyldig SHA512 scrypt hash (virker det som), men får dessverre ikke verifisert den grunnet feilmelding. Se eksempel under: >>> import pysodium >>> pysodium.crypto_pwhash_scryptsalsa208sha256_str('test', 1, 1) b'$7$/6.....6...kcDP//eWUi8iTE0Kn7fy3GlKKd5BIl.Ajkuc5km/xR6$r.Vm4KGjuZdgYqnbBWehHCHV6VovQLb6pNcSCWGjeAB' >>> pysodium.crypto_pwhash_scryptsalsa208sha256_str_verify('$7$/6.....6...kcDP//eWUi8iTE0Kn7fy3GlKKd5BIl.Ajkuc5km/xR6$r.Vm4KGjuZdgYqnbBWehHCHV6VovQLb6pNcSCWGjeAB', 'test') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.5/site-packages/pysodium/__init__.py", line 501, in crypto_pwhash_scryptsalsa208sha256_str_verify __check(sodium.crypto_pwhash_scryptsalsa208sha256_str_verify(stored, passwd, ctypes.c_ulonglong(len(passwd)))) File "/usr/local/lib/python3.5/site-packages/pysodium/__init__.py", line 126, in __check raise ValueError ValueError Lenke til kommentar
Alen Mistric Skrevet 11. januar 2017 Forfatter Del Skrevet 11. januar 2017 Har funnet et interessant innlegg fra en av OpenBSD-utviklerne, med overskrift "retiring crypt" (http://www.tedunangst.com/flak/post/retiring-crypt). Jeg tror nok crypt() funksjonen i OpenBSD er deprecated og ikke lenger i bruk. Det kan jo forsåvidt forklare hvorfor jeg ikke får noen resultater i python. Da gjenstår det vel å finne ut av hvorfor ikke jeg får verifisert scrypt hashen. Hva tenker dere? Lenke til kommentar
Alen Mistric Skrevet 15. januar 2017 Forfatter Del Skrevet 15. januar 2017 Løste denne ved å gi faen i crypt hashing, og holdt meg til scrypt. Her måtte jeg inkludere hele strengen som ble generert for å verifisere gyldig hash. Da ble crypto_pwhash_scryptsalsa208sha256_str_verify() seende slik ut: (b'$7...', 'passord') Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå