Sou novato em desenvolvimento e estou tendo uns probleminhas…
Meu professor passou um tipo de “desafio” para nós no curso, eu tenho um hash e sei a senha pra esse hash que ele passou, ele pediu pra gente tentar descobrir o método que ele usou pra transformar essa senha nesse hash. Esse valor é inserido dessa forma “criptografada” num campo de um BD, como senha, por exemplo.
Ele nos disse que uma boa parte é adivinhação, mas que se pesquisássemos bem encontrariamos algum “fundamento” pra isso… Pois bem, eu revirei toneladas de lugares procurando por referências e nãoi consegui encontrar… O código que faz essa conversão é em delphi, mas ele disse que em Java tb funciona e que o algoritmo é muito parecido.
A idéia é explicar como funciona o algoritmo, quando voltarmos de férias, porém não consegui encontrar referências até agora. Estava usando esse site http://www.insidepro.com/hashes.php?lang=eng#2 para tentar encontrar alguma semelhança com o hash mas sem sucesso…
Bom, vocês devem estar acostumados com criptografia mais do que eu, acho que talvez se olharem o hash e a senha consigam encontrar alguma referência…
Hash: FU2qgPBwaVk2
Senha: Legio0n2!
Essa senha é convertida nesse valor ai quando passa pelo aplicativo… Ele comentou algum coisa de BCD nas aulas, mas não sei se tem referência.
olha posso estar enganada, mas como professores gostam de pegadinhas principalmente com novatos em TI, usando conhecimentos que só podia ser acessado por BBS, pode ser algo como tecnologia de encriptação dos anos 70.
“Early Unix implementations limited passwords to 8 characters and used a 12-bit salt, which allowed for 4,096 possible salt values. While 12 bits was sufficient for the '70s”
fonte http://en.wikipedia.org/wiki/Salt_(cryptography)
Que hash esquisito - se esse for um hash em Base-64 (12 caracteres), o hash original tem apenas 8 bytes (64 bits), e nenhum dos métodos usuais (MD5 -> 128, SHA-1 -> 160, SHA-256 -> 256, SHA-384 -> 384, SHA-512 -> 512, RIPEMD-160 -> 160, MD2 -> 128 bits) gera hashes tão pequenos assim.
Por outro lado, os CRCs (que não são exatamente hashes criptográficos, e normalmente não são usados para criptografar senhas, já que é possível gerar um dado que tem um CRC conhecido) costumam ter 16 (CRC-16), 32 (CRC-32) ou 64 (CRC-64) bits.
Pois é, eu cheguei a imaginar que esse professor nosso possa ter dado esse negócio ai como um desafio e ter feito a gente ler feito louco por hashes, criptografia, etc… Mas o código de tranformação foi ele quem desenvolveu baseado em nenhum algoritmo de encriptação conhecido, por isso ser tão diferente de tudo o que já li por ai… Será que pode ser isso?