Jump to content

Recommended Posts

Posted (edited)

Olá mestres.

Após finalizar um projeto pessoal de desenvolvimento de um diário criptografado, concluí que há pouco material informativo na Internet sobre criptografia voltado à linguagem Pascal, especialmente na língua portuguesa. Lanço o desafio de, através de um debate e exposição de idéias, gerarmos conteúdo útil para quem precisa.

Fale sobre qualquer método de criptografia, mesmo algum método criado por você.

Neste primeiro momento falarei sobre uma função que gera hash a partir de strings, muito simples de usar, e disponível na biblioteca padrão do Free Pascal.

A unit utilizada chama-se md5 (Veja o código fonte em http://winmd5.googlecode.com/svn-history/r25/trunk/winhash/md5.org).

Essa função gera o hash.

function MDString(const S: String; const Version: TMDVersion): TMDDigest;
//S recebe a string de entrada.
//Version recebe uma constante que define o tipo de encriptação: MD_VERSION_2, MD_VERSION_4, MD_VERSION_5.

Essa função "traduz" o hash.

function MDPrint(const Digest: TMDDigest): String;
//Essa função transforma a saída da função MDString (tipo TMDDigest) em uma string.

Exemplo:

Program TestaHash;
Uses md5;
Var
hash : TMDDigest;
cadeia : string;
Begin
 cadeia := 'Portugal a Programar';
 hash := MDString(cadeia, MD_VERSION_5);
 write('O hash de ', cadeia, ' é ', MDPrint(hash));
End.
Edited by GRSa
Posted

Por acaso nunca necessitei de aplicar criptografia a nada. Desta forma, confesso que nunca me dediquei a estudar o assunto. Eu apenas estudo aquilo que me lembro de estudar, o que quero estudar e quando posso estudar. 😄

Eu acho que iria sempre desenvolver um método criptográfico próprio, as probabilidades de quebrar o código podem ser diminuídas se desenvolvermos bons métodos.

Knowledge is free!

Posted

Bom dia,

Sinceramente sou 100% a favor do uso de standards quando o assunto é criptografia. Desenvolver um "novo metodo critpográfico", é na minha opinião, é "inventar uma roda quadrada", pois ou se sabe muito bem o que se está a fazer ou se está a fazer algo que será quebrado em poucos dias, ou mesmo horas.

Existem na net implementações em pascal, bastante interessantes de algoritmos criptograficos standard. Basta procurar um pouco. Infelizmente não estão documentadas em português, mas nada impede que se traduza.

AES - Rijndael

AES

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.