Olá pessoal,
com a Minigui eu tenho criado um arquivo ini que contém, dentre outras, a informação relativa ao usuário e senha.
A seção LOGIN e entrada USERNAME contém o nome do usuário de forma criptografada com a função CRYPT() do xHarbour.
Contudo, na hora de ler a informação para descriptografia, o último caractere (da palavra 'root'), apesar de registrado no arquivo, não é retornado.
Copiado diretamente do arquivo ini com o WordPad, o resultado é o que segue abaixo.
O 't', com a chave de criptografia que eu uso vira ''.
Porém, esse resultado não é o que aparece no ini se visualizado através do edit do MsDos.
[LOGIN]
USERNAME=Ô0Õ
Se eu mudo a chave de criptografia, alterando o último caractere, tudo funciona perfeitamente.
Então eu pergunto, esse '' visualizado através do WordPad é um carctere especial?
Obrigado.
MarceloG
Criptografia
Moderador: Moderadores
Veja que o usual é nunca armazenar nome e/ou senha. O que se costuma fazer é somar essas duas strings e calcular seu hash MD5 (pra citar um tipo). Grava-se então, apenas esse hash. No log-in o usuário entra nome/senha, recalcula-se o hash e compara-se com o que foi gravado.
Se for fazer assim, uma dica: após a soma das strings, converta tudo para maiúsculas (ou minúsculas). Mantendo a caixa fixa você dá ao cidadão a liberdade de usar a caixa que quiser. Aliás, tem gente que até esquece se usou a primeira letra maiúscula ou não. Então, essa providência facilita um pouco pro usuário.
Se você tiver medo de uma possível tentativa de ataque aos hashs armazenados (acredite, é bem fácil descobrir uma senha), você pode adicionar à essa string resultante de nome+senha o que se chama de "salt", ou seja, uma string fixa, que só você conhece. Daí a dificuldade de quebra se multiplica várias vezes, ficando praticamente impossível descobrir a senha.
Se for fazer assim, uma dica: após a soma das strings, converta tudo para maiúsculas (ou minúsculas). Mantendo a caixa fixa você dá ao cidadão a liberdade de usar a caixa que quiser. Aliás, tem gente que até esquece se usou a primeira letra maiúscula ou não. Então, essa providência facilita um pouco pro usuário.
Se você tiver medo de uma possível tentativa de ataque aos hashs armazenados (acredite, é bem fácil descobrir uma senha), você pode adicionar à essa string resultante de nome+senha o que se chama de "salt", ou seja, uma string fixa, que só você conhece. Daí a dificuldade de quebra se multiplica várias vezes, ficando praticamente impossível descobrir a senha.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
alexpaidajulia
- Usuário Nível 1

- Mensagens: 13
- Registrado em: 14 Dez 2008 06:38
- Localização: japao
Re: CRIPTOGRAFIA
Acho que a quebra somente seria possivel via ataque por dicionario, na base da forca bruta mesmo, demandando tempo e poder computacional.Se você tiver medo de uma possível tentativa de ataque aos hashs armazenados (acredite, é bem fácil descobrir uma senha), você pode adicionar à essa string resultante de nome+senha o que se chama de "salt", ou seja, uma string fixa, que só você conhece. Daí a dificuldade de quebra se multiplica várias vezes, ficando praticamente impossível descobrir a senha.
Ficando outra questao, tendo a possibilidade de descompilar o executavel e retornar os fontes, nao seria facil descobrir o algoritimo utilizado para criptografar as senhas ou mesmo cortar o ponto aonde e feita a validacao das senhas?
Geralmente o pessoal utiliza sistemas de criptografia bem rudimentares do tipo que troca uma letra por outra segundo algum tipo de criterio, nada muito elaborado.
abracos
-
alexpaidajulia
- Usuário Nível 1

- Mensagens: 13
- Registrado em: 14 Dez 2008 06:38
- Localização: japao
Re: CRIPTOGRAFIA
O proprio dbf do clipper nao tem seguranca alguma, nao tem senha ou criptografia ou algo do genero, esta ali para quem quiser ler.
Alguma solucao existe para isso?
abracos
Alguma solucao existe para isso?
abracos
Re: CRIPTOGRAFIA
Sim, MySQl, Oracle ou qualquer banco relacional com controle de acesso.O proprio dbf do clipper nao tem seguranca alguma, nao tem senha ou criptografia ou algo do genero, esta ali para quem quiser ler.
Alguma solucao existe para isso?
Infelizmente DBF pode até ser aberto até pelo excel, ou seja qualquer um abre.
[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- mhackervix
- Usuário Nível 3

- Mensagens: 105
- Registrado em: 11 Fev 2008 02:06
- Localização: ES
Criptografia
Sim os Dbf utilizados pelo Xailer (xHarbour) podem ser criptografados ou não. No xailer pode-se definir uma Senha para a Tabela (DBF) e esta é acessada normalmente dentro do programa, porem na gravação em disco o DBF estará criptografado. A ferramenta XaDbu abre/edita estes DBF normalmente desde que fornecemos a Senha.alexpaidajulia escreveu:O proprio dbf do clipper nao tem seguranca alguma, nao tem senha ou criptografia ou algo do genero, esta ali para quem quiser ler.
Alguma solucao existe para isso?
abracos
PS: "deve" haver algo semelhante em outras plataformas (RAIDS) de desenvolvimento do xHarbour.
att.
Mhackervix, Msc.


