Casa > C > Como Colocar A Senha Na Forma Utilizável (Decodificação)

Como colocar a senha na forma utilizável (decodificação)

Se a "senha criptografada" foi implementada de forma correta e segura, na verdade não é uma senha criptografada. É um "hash salgado" de uma senha. Mais especificamente, a senha é de alguma forma combinada com uma sequência aleatória de caracteres - digamos, por exemplo, ela recebe 8 caracteres aleatórios prefixados à senha. A string resultante é então hashed usando um algoritmo tal como MD5, SHA-1, ou SHA-256. O "hash salgado" que é armazenado no campo "senha criptografada" da base de dados do usuário então se torna a string de sal de 8 caracteres, seguido pela representação da string do hash (talvez codificado usando Base64).

Dado apenas o hash salgado, como você "reverte" o processo e descobre qual senha gerou o hash salgado? A menos que você possa explorar uma vulnerabilidade conhecida no algoritmo de hash, você não pode fazê-lo dentro de um período de tempo razoável; você teria que executar um ataque de força bruta, muito provavelmente calculando os hashes salgados de quintilhões (ou mais) de senhas adivinha até que algo eventualmente compute o mesmo valor. E mesmo que compute para o mesmo valor, isso não é garantia de que foi a senha original - você pode ter simplesmente encontrado uma colisão no algoritmo de hashing. Mas talvez isso seja bom o suficiente, se você quiser apenas autenticar com sucesso na aplicação.

P>Bastante provável, o Sol terá se tornado um gigante vermelho, engoliu a Terra, ficou sem combustível, e então encolheu de volta para uma anã branca muito, muito antes de você encontrar a senha (ou uma colisão de hashing), especialmente se a cadeia de sal tem 16 caracteres, e o algoritmo de hashing é SHA-256. Hackear a aplicação provavelmente não lhe fará muito bem neste ponto, mas se ainda é prioridade suficiente que você ainda esteja executando seu programa de quebra de senha, então eu aplaudo sua persistência!

De Zedekiah

Quão seguro é o logon por impressão digital nos telemóveis? :: O que é a Nvidia equivalente ao RX 5500 XT?