PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → Comandos de Criptografia e Descriptografia para usar nos WX (Windev, webdev e Windev mobile)
Comandos de Criptografia e Descriptografia para usar nos WX (Windev, webdev e Windev mobile)
Débuté par Boller, 15 mar. 2024 14:59 - 2 réponses
Membre enregistré
3 659 messages
Popularité : +175 (223 votes)
Posté le 15 mars 2024 - 14:59
OBS
É muito importante fazer o encode e o decode base 64 quando usar em arquivos de texto ou arquivos ini, pois existe varios formatos de arquivos sendo eles: ansi, unicode, utf-8. E uma vez encodado e decodando a criptofrafia e descriptografia vai funcionar perfeitamente pois os caracteres originais estaram cifrados, se nao fazer o encode e decode os caracteres armazenados nao vao bater e a senha usada sera inutil e nao dara certo o procedimento.

Il est très important d'encoder et de décoder la base 64 lors de l'utilisation de fichiers texte ou de fichiers ini, car il existe plusieurs formats de fichiers : ansi, unicode, utf-8. Et une fois encodés et décodés, le cryptage et le décryptage fonctionneront parfaitement car les caractères originaux seront cryptés, si vous n'encodez pas et ne décodez pas les caractères stockés ne correspondront pas et le mot de passe utilisé sera inutile et la procédure ne fonctionnera pas.

It is very important to encode and decode base 64 when using text files or ini files, as there are several file formats: ansi, unicode, utf-8. And once encoded and decoded, the encryption and decryption will work perfectly because the original characters will be encrypted, if you do not encode and decode the stored characters will not match and the password used will be useless and the procedure will not work.


Example
//Exemplo para Criptografar
// se usar a criptografia em um arquivo texto ou ini deve fazer encode 64 bits.

sMessage is Buffer = "Message to encrypt"
bufKey is Buffer = HashString(HA_CKSUM_64, "password")
bufEncrypt is Buffer = CryptStandard(sMessage, bufKey, cryptDES)
bufEncrypt = Encode(bufEncrypt, encodeBASE64)
Info(bufEncrypt)

// Exemplo para Decriptografar
bufKey = HashString(HA_CKSUM_64, "password")
sResult is Buffer = Decode(bufEncrypt, encodeBASE64)
sResult = UncryptStandard(sResult, bufKey, cryptDES)
Info(sResult)


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Message modifié, 15 mars 2024 - 15:38
Membre enregistré
3 659 messages
Popularité : +175 (223 votes)
Posté le 15 mars 2024 - 15:42
//Criptografia
buf_conteudo_sig is Buffer = "Meu nome é Adriano Boller"
B_senha is Buffer = HashString(HA_HMAC_MD5_128, "bob-esponja")
B_resultado_Criptografado is Buffer = CryptStandard(buf_conteudo_sig, B_senha, cryptAES128)
B_resultado_Criptografado=Encode(B_resultado_Criptografado, encodeBASE64)

Info(B_resultado_Criptografado)


//Descriptografia
B_senha = HashString(HA_HMAC_MD5_128, "bob-esponja")
B_resultado_Descriptografado is Buffer = Decode(B_resultado_Criptografado, encodeBASE64)
B_resultado_Descriptografado = UncryptStandard(B_resultado_Descriptografado, B_senha, cryptAES128)

Info(B_resultado_Descriptografado )


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membre enregistré
3 659 messages
Popularité : +175 (223 votes)
Posté le 15 mars 2024 - 18:44
EXEMPLO COM FONTE

https://repository.windev.com/resource.awp…

Exemplo de Cryptografia e Descryptografia

//Exemplo para Criptografar
// se usar a criptografia em um arquivo texto ou ini deve fazer encode 64 bits.

sMessage is Buffer = EDT_Mensagem
bufKey is Buffer = HashString(HA_CKSUM_64, EDT_Senha)
bufEncrypt is Buffer = CryptStandard(sMessage, bufKey, cryptDES)
bufEncrypt = Encode(bufEncrypt, encodeBASE64)
EDT_Encript = bufEncrypt
INIWrite("Config","Senha", bufEncrypt, fCurrentDir()+fSep()+"config.ini")
Info(bufEncrypt)

// Exemplo para Decriptografar
bufEncrypt = INIRead("Config","Senha","",fCurrentDir()+fSep()+"config.ini")
bufKey = HashString(HA_CKSUM_64, EDT_Senha)
sResult is Buffer = Decode(bufEncrypt, encodeBASE64)
sResult = UncryptStandard(sResult, bufKey, cryptDES)
EDT_Descript = sResult
Info(sResult)

IF EDT_Mensagem = EDT_Descript THEN
Info("Criptografia e descriptografia perfeita salvando em arquivo de texto ou ini.")
ELSE
Info("DIVERGENTE NAO DEU CERTO")
END

EDT_Config = fLoadText(fCurrentDir()+fSep()+"config.ini",foAnsi)





--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Message modifié, 15 mars 2024 - 18:46