Ultima modifica:
Salve, vorrei chiedere secondo voi qual' è il metodo più "veloce" per ottenere la password in formato raw partendo da un hash ottenuto con l' algoritmo bcrypt_sha256 con l' utilizzo di un salt, avendo in mano sia la password hashed che il salt utilizzato. Il metodo più ovvio sarebbe quello di partire da un dizionario di possibili password, ottenere un hash per ciascuna e paragonarlo con quello da decriptare, però il problema è che questo metodo è estremamente lento dato che l' algoritmo stesso lo è. Conosco gli attacchi che fanno uso di una rainbow table, ma non riesco a trovarne una (o un software che ne utilizzi una) per l' algoritmo bcrypt_sha256, in più suppongo che dal momento che viene utilizzato un salt anche l utilizzo di una rainbow table sarebbe abbastanza inefficiente. Voi come procedereste?
Python:
import binascii
import bcrypt
import hashlib
def encode(password, salt):
"""
Questa è la funzione utilizzata per ottenere un hash dalla plain password
"""
password = binascii.hexlify(hashlib.sha256(password.encode()).digest())
data = bcrypt.hashpw(password, salt)
return "%s$%s" % ('bcrypt_sha256', data.decode("ascii"))