Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20.6
Generate digest

Generate digest 


 

Generate digest ( param ; algoritmo {; *} ) -> Resultado 
Parámetro Tipo   Descripción
param  BLOB, Variable texto in Blob o texto para el cual obtener un extracto
algoritmo  Entero largo in Algoritmo utilizado para devolver la llave:
0 = Digest MD5, 1 = Digest SHA1
Operador in Codificar digest en Base64URL
Resultado  Texto in Valor de la llave digest

El comando Generate digest devuelve el extracto de un BLOB o de un texto después de la aplicación de un algoritmo de encripción.

Pase un campo o una variable Texto o BLOB en el parámetro param. La función Generate digest devuelve la llave digest como una cadena.

En el parámetro algoritmo, pase un valor designando la función hash a utilizar. Utilice una de las siguientes constantes, ubicadas en el tema Tipo Digest:

Constante Tipo Valor Comentario
_o_4D REST digest Entero largo 2

*** Constante obsoleta ***

MD5 digest Entero largo 0

Algoritmo Message Digest 5. Una serie de 128 bits devueltos como una cadena de 32 caracteres hexadecimales.

SHA1 digest Entero largo 1

Algoritmo Secure Hash 1. Una serie de 160 bits devueltos como una cadena de 40 caracteres hexadecimales.

SHA256 digest Entero largo 3 (Familia SHA-2) SHA-256 es una serie de 256 bits devueltos como una cadena de 64 caracteres hexadecimales.
SHA512 digest Entero largo 4 (Familia SHA-2) SHA-512 es una serie de 512 bits devueltos como una cadena de 128 caracteres hexadecimales.

Nota: no se recomienda utilizar algoritmos MD5 y SHA para  manejar contraseñas; si necesita verificar contraseñas, se recomienda utilizar los comandos Generate password hash y Verify password hash .

Por defecto, si se omite el parámetro *, el digest devuelto está codificado en hexadecimal. Pase el parámetro * si desea que se codifique en Base64URL.

El valor devuelto por el mismo objeto es el mismo en todas las plataformas (macOS/Windows). El cálculo se efectúa a partir de la representación en UTF-8 del texto pasado en parámetro.

Nota: si utiliza el comando con un texto/BLOB vacío, no devolverá void sino un valor cadena (por ejemplo "d41d8cd98f00b204e9800998ecf8427e" para MD5).

Este ejemplo compara dos documentos utilizando el algoritmo MD5:

 C_PICTURE($vPict1;$vPict2)
 C_BLOB($FirstBlob;$SecondBlob)
 READ PICTURE FILE("c:\\myPhotos\\photo1.png")
 If(OK=1)
    READ PICTURE FILE("c:\\myPhotos\\photo2.png")
    If(OK=1)
       PICTURE TO BLOB($vPict1;$FirstBlob;".png")
       PICTURE TO BLOB($vPict2;$SecondBlob;".png")
 
       $MD5_1:=Generate digest($FirstBlob;MD5 digest)
       $MD5_2:=Generate digest($SecondBlob;MD5 digest)
 
       If($MD5_1#$MD5_2)
          ALERT("Estas dos imágenes son diferentes.")
       Else
          ALERT("Estas dos imágenes son idénticas.")
       End if
    End if
 End if

Estos ejemplos ilustran cómo recuperar el extracto de un texto:

 $key1:=Generate digest("The quick brown fox jumps over the lazy dog.";MD5 digest)
  // $key1 is "e4d909c290d0fb1ca068ffaddf22cbd0"
 $key2:=Generate digest("The quick brown fox jumps over the lazy dog.";SHA1 digest)
  // $key2 is "408d94384216f890ff7a0c3528e8bed1e0b01621"



Ver también 

BASE64 DECODE
BASE64 ENCODE
Generate password hash
Protocolo seguro
WEB Validate digest

 
PROPIEDADES 

Producto: 4D
Tema: Herramientas
Número 1147

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v13
Modificado: 4D v14
Modificado: 4D v16 R5
Modificado: 4D v18 R4

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20)
Manual de lenguaje 4D ( 4D v20.1)
Manual de lenguaje 4D ( 4D v20.3)
Manual de lenguaje 4D ( 4D v20.4)
Manual de lenguaje 4D ( 4D v20.5)
Manual de lenguaje 4D ( 4D v20.6)