Que tipo de dados utilizar para o campo de palavra-passe de hashed e qual o comprimento?

I'não tenho a certeza de como funciona o hashing de palavra-passe (será implementado mais tarde), mas preciso de criar um esquema de base de dados agora.

I'estou a pensar em limitar as palavras-passe a 4-20 caracteres, mas como eu entendo depois de encriptar a cadeia de hash será de comprimento diferente.

Então, como armazenar estas palavras-passe na base de dados?

Poderá encontrar este artigo da Wikipédia sobre salga que vale a pena. A ideia é adicionar um conjunto de dados para aleatorizar o seu valor de hash; isto protegerá as suas palavras-passe de ataques de dicionário se alguém obtiver acesso não autorizado aos hashes das palavras-passe.

Comentários (3)

Como uma cadeia de comprimento fixo (VARCHAR(n) ou como o MySQL lhe chama). Um hash tem sempre um comprimento fixo de, por exemplo, 12 caracteres (dependendo do algoritmo de hash que se utiliza). Assim, uma palavra-passe de 20 caracteres seria reduzida a um hash de 12 caracteres, e uma palavra-passe de 4 caracteres também produziria um hash de 12 caracteres.

Comentários (1)

I'testei sempre para encontrar o comprimento de cadeia MAX de uma cadeia encriptada e defini-la como o comprimento dos caracteres de um tipo VARCHAR. Dependendo de quantos registos vai ter're, poderia realmente ajudar o tamanho da base de dados.

Comentários (0)