AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de cifrado/compresión
  • Formato binario de una cadena encriptada
  • Cifrado y descifrado de un archivo externo
  • Cifrado en PHP
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Advertencia
A partir de la versión 22, esta función se conserva por motivos de compatibilidad con versiones anteriores. Para mayor seguridad, le recomendamos que utilice EncryptStandard.
Cifra una cadena de caracteres en formato binario o en formato ASCII.
Observaciones:
  • Esta cadena de caracteres puede ser descifrada por Descifrar.
  • Si el cifrado y el descifrado se realizan en plataformas diferentes (cifrado en Android y descifrado en Windows, por ejemplo), utilice EncryptStandard y DecryptStandard. Para más detalles, consulte el apartado "Observaciones".
Ejemplo
// Encrypt a string
Res = Encrypt("My credit card number is 52327453829011", "Password")
// Encode a string in base 64
bufBase64 is Buffer = Encrypt(bufToEncode, "", compressNone + cryptNone, encodeBASE64)
Sintaxis
<Result> = Encrypt(<String to encrypt> , <Password> [, <Type of encryption> [, <Format of encrypted string>]])
<Result>: Cadena de caracteres
  • Cadena de caracteres encriptada,
  • Cadena vacía ("") si se produce un error. Para obtener más información sobre el error, utilice la función ErrorInfo.
<String to encrypt>: Cadena de caracteres
Texto a cifrar.
<Password>: Cadena de caracteres
Contraseña utilizada para encriptar la cadena de caracteres. Esta contraseña se utilizará para descifrar la cadena cifrada (Descifrar). Una contraseña larga optimiza la seguridad del cifrado.
<Type of encryption>: Constante o combinación de constantes opcional
Indica el tipo de cifrado y/o compresión:
  • Tipo de cifrado:
    cryptAnsiLa encriptación es idéntica a la realizada en una aplicación WINDEV o WEBDEV.. useful para las aplicaciones que cifran en WINDEV Mobile y que descifran en WINDEV por ejemplo.
    Para usar esta constante, el parámetro <Format of encrypted string> debe corresponder a la constante encodePCS.
    Observación: Si la constante cryptAnsi no se combina con otra constante que especifique el tipo de cifrado, se ignora el parámetro <Password>.
    Esta constante solo se puede utilizar en WINDEV Mobile para Windows CE.
    WEBDEV - Código ServidorPHP Esta constante no tiene ningún efecto.
    cryptFast
    (Valor predeterminado)
    Se da prioridad a la velocidad de encriptación (algoritmo sobre 128 bits).
    PHP El algoritmo utilizado será un algoritmo de Blowfish con 16 rondas.
    cryptNoneNo se realiza encriptación
    cryptRC516Se da prioridad a la seguridad del cifrado (algoritmo RC5 en 16 rondas)..
    PHP Esta constante no tiene ningún efecto.
    cryptSecureSe da prioridad a la seguridad del cifrado (algoritmo RC5 en 128 bits)..
    PHP El algoritmo utilizado será un algoritmo RINJDAEL de 128 bits.
  • Tipo de compresión:
    compressLZWLa cadena se comprime antes de ser encriptada.
    PHP Esta constante no tiene ningún efecto.
    compressNone
    (Valor predeterminado)
    No se realiza ninguna compresión.
    PHP Esta constante no tiene ningún efecto.
    compressShortStringLa cadena se comprime a través de un algoritmo optimizado para las cadenas de caracteres cortos.. Esta compresión solo será efectiva si se selecciona la constante cryptNone y si <Format of encrypted string> corresponde a la constante encodeNone.
    PHP Esta constante no tiene ningún efecto.
<Format of encrypted string>: Constante opcional de tipo Integer
Indica el formato de la cadena encriptada:
encodeBASE64Formato BASE 64. El archivo está encriptado con el algoritmo BASE64. El archivo cifrado será más grande (alrededor del 30%) que el archivo inicial..
Para realizar una codificación en base 64, también tiene la posibilidad de usar Codifica asociado con la constante encodeBASE64 o encodeBASE64URL.
El formato base64 puede utilizarse para insertar un archivo cifrado en el cuerpo de Email, por ejemplo.
encodeNoneFormato binario. El archivo cifrado puede contener caracteres no imprimibles. El archivo será más grande (unos 4 bytes) que el archivo inicial.
encodePCS
(Valor predeterminado)
Formato ASCII. El archivo encriptado contendrá sólo caracteres imprimibles. El archivo cifrado será más grande (alrededor del 30%) que el archivo inicial..
Este formato puede utilizarse para insertar un archivo cifrado en el cuerpo de Email, por ejemplo.
encodeUUEncodeFormato UUEncode. El archivo está encriptado con el algoritmo UUEncode. El archivo cifrado será más grande (alrededor del 30%) que el archivo inicial..
Este formato puede utilizarse para insertar un archivo cifrado en el cuerpo de Email, por ejemplo.
Observaciones
WEBDEV - Código ServidorPHPAjax

Formato binario de una cadena encriptada

La cadena cifrada debe manipularse correctamente cuando <Format of encrypted string> corresponde a la constante encodeNone. De hecho, esta cadena encriptada puede contener caracteres de fin de cadena. En este caso, la cadena será truncada por las operaciones de visualización.
Parte de la información encriptada se perderá si:
  1. La cadena encriptada se muestra en un control.
  2. El valor de esta control se utiliza para el descifrado.
Sin embargo, no se perderá ninguna información si la cadena cifrada se maneja como una cadena Variable.

Cifrado y descifrado de un archivo externo

Para cifrar/descifrar un archivo externo, utilice fEncrypt y fDecrypt.
PHP

Cifrado en PHP

En PHP, el cifrado BlowFish (constante cryptFast) y el cifrado de tipo RINJDAEL (constante cryptSecure) están basados en la biblioteca MCrypt. Esta biblioteca es comúnmente utilizada por los servicios de alojamiento PHP, y por lo tanto, siempre está habilitada. Esta biblioteca se puede descargar desde el sitio web de PHP.
Para habilitar (si es necesario) esta biblioteca en el equipo local, se requieren los siguientes elementos:
  • PHP instalado.
  • el archivo PHP.INI que se encuentra en el directorio de Windows debe incluir la extensión "extension=php_mcrypt.dll" Line.
  • el archivo php_mcrypt.dll debe existir en el directorio de extensiones PHP. Este directorio está definido en el archivo PHP.INI por la variable "extension_dir".
Componente: wd290std.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
exemplo com fonte
https://repository.windev.com/resource.awp?file_id=281474976711928;exemplo-cryptografia-descryptografia
Boller
15 03 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 03 2024
Example Encripta
//https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/2251-about-cryptstandart-and-uncryptstandart-2254/read.awp

Encripta(St is string, Pw is string)
x is string
i is int
n is int
p is int
j is int
//n0 is int
ok is boolean

p = 0

FOR i = 1 TO Length(St)
p += 1
IF p > Length(Pw) THEN p = 1
j = Asc(Middle(Pw, p, 1)) OR 128
n = Asc(Middle(St, i))

ok = False

WHILE ok = False
n = BinaryXOR(n, j) //encripta...
IF n < 31 THEN //se char de controle
n = (128 + n) //somar 128 e
//GoTo DeNovo //ecripta novamente
ELSE IF n > 127 AND n < 159 THEN //se nesta faixa pode ser char de controle
n = n - 128 //tira 128 e
//GoTo DeNovo //encripta novamente
ELSE
ok = True
END
END
x = x + Charact(n) //concatena string encriptada


END

RESULT x
BOLLER
05 04 2017

Última modificación: 23/06/2023

Señalar un error o enviar una sugerencia | Ayuda local