//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=
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