Alen Mistric Skrevet 11. januar 2017 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
Alen Mistric Skrevet 11. januar 2017 Forfatter 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?
Alen Mistric Skrevet 15. januar 2017 Forfatter 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')
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å