ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Encryption/compression functions
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Encode une chaîne de caractères ou un buffer. Pour décoder le résultat, il suffit d'utiliser la fonction Décode.
Exemple
// Encodage d'une image en Base 64
Res est une chaîne = Encode(fChargeBuffer("MonImage.jpg"), encodeBASE64)
// Encodage d'une URL
Info(Encode("https://www.google.fr/?", encodeURLDepuisAnsi) + ...
Encode(Encode("https://www.google.fr/?é", encodeURLDepuisAnsi), encodeURLParamètre))
Syntaxe
<Résultat> = Encode(<Données> [, <Format d'encodage>])
<Résultat> : Chaîne de caractères
Données encodées selon le format choisi.
<Données> : Chaîne de caractères ou Buffer
Données à encoder.
<Format d'encodage> : Constante optionnelle de type Entier
Format d'encodage des données :
encodeBASE64
(Valeur par défaut)
Format BASE 64 (respecte la norme RFC 4648). Le texte encodé comporte uniquement des caractères imprimables et les RC (Retour Chariot).
PHP Les RC (Retour Chariot) sont supprimés.
encodeBASE64SansRCFormat BASE 64 (respecte la norme RFC 4648) sans les RC (Retour Chariot). Le texte encodé comporte uniquement des caractères imprimables.
PHP Cette constante n'est pas disponible.
encodeBASE64URLFormat BASE 64 URL (respecte la norme RFC 4648). Le texte encodé comporte uniquement des caractères imprimables.
PHP Cette constante n'est pas disponible.
encodeBASE85Format BASE 85. Le texte encodé comporte uniquement des caractères imprimables.
AndroidWidget Android Format non supporté.
PHP Cette constante n'est pas disponible.
encodePCSFormat ASCII. Le texte encodé comporte uniquement des caractères imprimables.
AndroidWidget Android Format non supporté.
encodeURLDepuisAnsiFormat URL. Le texte encodé comporte uniquement des caractères autorisés dans une URL. Le texte à encoder est une chaîne ANSI.
PHP Cette constante n'est pas disponible.
encodeURLDepuisUnicodeFormat URL. Le texte encodé comporte uniquement des caractères autorisés dans une URL. Le texte à encoder est une chaîne Unicode.
PHP Cette constante n'est pas disponible.
encodeURLDepuisUTF8Format URL. Le texte encodé comporte uniquement des caractères autorisés dans une URL. Le texte à encoder est une chaîne UTF-8.
PHP Cette constante n'est pas disponible.
encodeURLParamètreCette constante est utilisée quand il est nécessaire de passer une URL A en paramètre d'une URL B. Les caractères réservés de l'URL A (//, ?...) sont encodés.
L'URL A (à encoder) doit être une URL valide. Si elle a elle-même des paramètres, ils doivent avoir été encodés avec une des constantes suivantes : encodeURLDepuisAnsi, encodeURLDepuisUnicode ou encodeURLDepuisUTF8.
PHP Cette constante n'est pas disponible.
encodeUUEncodeFormat UUEncode. Le texte encodé comporte uniquement des caractères imprimables.
AndroidWidget Android Format non supporté.
Classification Métier / UI : Code métier
Composante : wd290std.dll
Minimum version required
  • Version 22
Comments
Exemplo com Fonte
https://repository.windev.com/resource.awp?file_id=281474976711928;exemplo-cryptografia-descryptografia
Boller
15 Mar. 2024
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.
Boller
15 Mar. 2024
Exemplo
E no Windev Mobile
//Criptografia
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 is Buffer = 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 )
Boller
15 Mar. 2024
Exemplo
//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 is Buffer = HashString(HA_CKSUM_64, "password")
sResult is Buffer = decode(sResult, encodeBASE64)
sResult = UncryptStandard(bufEncrypt, bufKey, cryptDES)
Info(sResult)
Boller
15 Mar. 2024
Link exemplos
https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/4235-comandos-criptografia-descriptografia-para-usar-windev-webdev-windev/read.awp
Boller
15 Mar. 2024
 Encodage d'une structure JSON à passer en paramètre
Les champ SAI_Nom et SAI_Prenom peuvent contenir de caractères interdits dans les URL. Pour s'en sortir :

sMyBufferJson est une chaîne UNICODE
vMyJSON est un Variant

sMyURLEncode est une chaîne ANSI
vMyJSON = Null
vMyJSON.Create_from = "MOBILE"
vMyJSON.Cible = gsMyCibleCreate_User
vMyJSON.Email = SAI_NewEmail
vMyJSON.Organisme = tabOrganisme[1]
vMyJSON.Nom = SAI_Nom
vMyJSON.Prenom = SAI_Prenom
vMyJSON.Telephone = SAI_Téléphone
sMyBufferJson=VariantVersJSON(vMyJSON)

sMyURLEncode= "https://monDomaine.fr/maPage.php?JSON="+Encode(Encode(sMyBufferJson, encodeURLDepuisAnsi), encodeURLParamètre)
Pascal BOULESTEIX
02 Mar. 2021
IMAGEN /STRING
//VOU MOSTRAR HOJE, COMO TRANSFORMAR
//UMA IMAGEN EM STRING E TRANSFORMAR
//UMA STRING EM UMA IMAGEM

IMG_IMAGEN_1 = "c:\ICONES\IC_OK_N.PNG" // VALIDADO
EDT_IMAGEN_TEXTO=Encode(fChargeBuffer(IMG_IMAGEN_1),encodeBASE64)
//--
IMG_IMAGEM_VOLTA = Decode(EDT_IMAGEN_TEXTO,encodeBASE64)

//BLOG COM VIDE E EXEMPLO

http://windevdesenvolvimento.blogspot.com/2017/08/aula-1237-windev-imagen-006-encodedecode.html

https://www.youtube.com/watch?v=KLr4-1wg_WQ


De matos
11 Aug. 2017

Last update: 05/25/2022

Send a report | Local help