Páginas

quinta-feira, 28 de janeiro de 2016

WX - Exemplo da Criptografia da senha - Marco machado








//Gera senha com criptografia dupla fazendo com SHA e depois aplicando a criptografia EncodeBase64

minha is string = "1234"
rhash is string = HashString(HA_SHA_160,minha)
res is string = Crypt(rhash,"",cryptNone,encodeBASE64)
//RESULTADO: cRDtpNCeBiql5KOQsKVyrA0sAiA=


http://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/886-exemplo-criptografia-senha/read.awp


http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/887-senha-criptografada-webservice/read.awp


http://doc.windev.com/en-US/?1000007111

http://doc.windev.com/?3024014&name=crypt_function






Windev escrevendo C#




Dica para quem precisa usar Senha Criptografada.
Um dos maiores usos que faço disso é no consumo de WebServices, onde necessitamos passar como parâmetros para autenticação, o usuário e a senha.

Esta necessidade surgiu dos códigos de exemplo que temos disponíveis quando vamos trabalhar com WebServices. Sempre temos Java ou C#.

Para facilitar a vida, vamos dispor dos código em Java, C# e Windev ( ainda poderíamos fazer os mesmo código usando C# dentro do Windev)

Código JAVA:

String senha = "1234" ;

java.security.MessageDigest md = java.security.MessageDigest.getInstance("SHA");
md.update(senha.getBytes());
String senhaSHA = new String(org.apache.commons.codec.binary.Base64.encodeBase64(md.digest()));

Código C#:

var sha1 = SHA1Managed.Create();
byte[] inputBytes = Encoding.ASCII.GetBytes(input);
byte[] outputBytes = sha1.ComputeHash(inputBytes);
return BitConverter.ToString(outputBytes).Replace("-", "").ToLower();

Código Windev:

SenhaBase is string = "1234"
rhash is string = HashString(HA_SHA_160,SenhaBase)
res is string = Crypt(rhash,"",cryptNone,encodeBASE64)

Info(res)

O código nas 3 linguagens tem que produzir o seguinte resultado:

cRDtpNCeBiql5KOQsKVyrA0sAiA=

Portando:

SenhaBase = "1234" <=> cRDtpNCeBiql5KOQsKVyrA0sAiA=

Isso é extremamente útil quando trabalhamos com Webservices, como já falamos, ou quando simplesmente queremos colocar um resultado em arquivo texto e não queremos que ele fique aberto.

Referências:











Nenhum comentário:

Postar um comentário