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 Hash
  • Función HashCheckString y UNICODE
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
Comprueba el guión de una cadena de caracteres para un tipo específico de algoritmo.. Tiene la capacidad de comprobar:
  • un simple hachís.
  • un hash con autenticación de mensajes.
  • un hash obtenido con una función de derivación de claves que toma una sal como parámetro (PBKDF2).
Recordatorio: El hashing se utiliza para resumir un archivo o una cadena de caracteres. Este resumen se llama Hash.
Ejemplo
Windows
// Check password:
// - Password typed in the "EDT_TypePassword" control
// - The password Hash is found in the "User.HashPassword" item
IF HashCheckString(HA_MD5_128, EDT_TypePassword, ...
User.HashPassword) = True THEN
Info("Password OK.")
// Rest of process
// ...
ELSE
Error("Wrong password.")
// Resume the input
SetFocusAndReturnToUserInput(EDT_TypePassword)
END
Sintaxis

Comprobando un simple hachís Ocultar los detalles

<Result> = HashCheckString(<Type of algorithm> , <String> , <Hash>)
<Result>: booleano
  • True si el resultado del hash de la cadena <Cadena> mediante el algoritmo <Tipo de algoritmo> corresponde al parámetro <Hash>,
  • False en caso contrario.
<Type of algorithm>: Constante de tipo Integer
Indica el tipo de algoritmo utilizado en el hash de :
Familia DJB2 (Bernstein)
  • HA_DJB2_32
  • HA_DJB2_64
MD4 familyHA_MD4
MD5 familyHA_MD5_128
Atención: este tipo de algoritmo está actualmente en desuso.
MURMUR family
  • HA_MURMUR_1: Algoritmo de soplo versión 1: Resultado hash de 32 bits
  • HA_MURMUR_2: Algoritmo de soplo versión 2: Resultado hash de 32 bits
  • HA_MURMUR_2_64A: Algoritmo de soplo versión 2: Resultado hash de 64 bits optimizado para procesadores de 64 bits
  • HA_MURMUR_2_64B: Algoritmo de soplo versión 2: Resultado hash de 64 bits optimizado para procesadores de 32 bits
  • HA_MURMUR_2_A: Algoritmo de murmullo incremental versión 2: Resultado hash de 32 bits
  • HA_MURMUR_2_BIG_ENDIAN: Algoritmo de murmullo versión 2 para máquina big-endian: Resultado hash de 32 bits
  • HA_MURMUR_2_ALIGNE: Algoritmo de soplo versión 2 para máquina alineada: Resultado hash de 32 bits
  • HA_MURMUR_3_32: Algoritmo de soplo versión 3: Resultado hash de 32 bits
  • HA_MURMUR_3_128_X86: Algoritmo de soplo versión 3: Resultado hash de 128 bits optimizado para procesadores de 32 bits
  • HA_MURMUR_3_128_X64: Algoritmo de soplo versión 3: Resultado hash de 128 bits optimizado para procesadores de 64 bits
RIPEMD family
  • HA_RIPEMD_128
  • HA_RIPEMD_160
Familia SHA
  • HA_SHA_160 (también llamado SHA-1)
  • HA_SHA_256 (especificaciones FIPS PUB 198)
  • HA_SHA_256_DOUBLE
  • HA_SHA_384
  • HA_SHA_512
Familia SHA-3
  • HA_SHA3_224
  • HA_SHA3_256
  • HA_SHA3_384
  • HA_SHA3_512
TIGER family
  • HA_TIGER_128
  • HA_TIGER_160
  • HA_TIGER_192
WHIRLPOOL familyHA_WHIRLPOOL
CKSUM family
  • HA_CKSUM_8
  • HA_CKSUM_16
  • HA_CKSUM_32
  • HA_CKSUM_64
  • Algoritmos MD4 / MD5 / SHA / RIPE: funciones de hash criptográficas estándar.
  • Algoritmos TIGER/WHIRLPOOL: funciones hash con altas propiedades criptográficas optimizadas para el modo de 64 bits (pero también se puede utilizar en el modo de 32 bits).
  • Algoritmos CKSUM: funciones de hash sin Property criptográfica, deben utilizarse para realizar comprobaciones de bajo nivel o con tablas de hash.
  • Algoritmo DJB2 (ámbar): Las funciones hash reservadas a las cadenas y sin Property criptográfica, deben utilizarse para realizar comprobaciones de bajo nivel o con tablas hashing. Pocos riesgos para get un hachís idéntico.
  • Algoritmo MURMUR: funciones de hash muy rápidas sin propiedades criptográficas. Este algoritmo es utilizado por el "filtro bloom" de los monederos bitcoin.
<String>: Cadena de caracteres
Cadena para la que se comprobará el Hash.
<Hash>: Cadena de caracteres
Una pizca de cuerda para comprobar. Este Hash debe ser el resultado de HashString previamente llamado para <Cadena> utilizando el <Tipo de algoritmo>..

Comprobación de un hash con autenticación de mensajes (algoritmo HMAC/MURMUR) Ocultar los detalles

<Result> = HashCheckString(<Type of algorithm> , <String> , <Hash> , <Secret key>)
<Result>: booleano
  • True si el resultado del hash de la cadena <Cadena> mediante el algoritmo <Tipo de algoritmo> corresponde al parámetro <Hash>,
  • False en caso contrario.
<Type of algorithm>: Constante de tipo Integer
Indica el tipo de algoritmo (HMAC o MURMUR) utilizado para el hash de :
MD4 familyHA_HMAC_MD4

MD5 familyHA_HMAC_MD5_128
Atención: este tipo de algoritmo está actualmente en desuso.
MURMUR family
  • HA_MURMUR_1: Algoritmo de soplo versión 1: Resultado hash de 32 bits
  • HA_MURMUR_2: Algoritmo de soplo versión 2: Resultado hash de 32 bits
  • HA_MURMUR_2_64A: Algoritmo de soplo versión 2: Resultado hash de 64 bits optimizado para procesadores de 64 bits
  • HA_MURMUR_2_64B: Algoritmo de soplo versión 2: Resultado hash de 64 bits optimizado para procesadores de 32 bits
  • HA_MURMUR_2_A: Algoritmo de murmullo incremental versión 2: Resultado hash de 32 bits
  • HA_MURMUR_2_BIG_ENDIAN: Algoritmo de murmullo versión 2 para máquina big-endian: Resultado hash de 32 bits
  • HA_MURMUR_2_ALIGNE: Algoritmo de soplo versión 2 para máquina alineada: Resultado hash de 32 bits
  • HA_MURMUR_3_32: Algoritmo de soplo versión 3: Resultado hash de 32 bits
  • HA_MURMUR_3_128_X86: Algoritmo de soplo versión 3: Resultado hash de 128 bits optimizado para procesadores de 32 bits
  • HA_MURMUR_3_128_X64: Algoritmo de soplo versión 3: Resultado hash de 128 bits optimizado para procesadores de 64 bits
RIPEMD family
  • HA_HMAC_RIPEMD_128
  • HA_HMAC_RIPEMD_160
Familia SHA
  • HA_HMAC_SHA_160
  • HA_HMAC_SHA_256
  • HA_HMAC_SHA_256_DOBLE
  • HA_HMAC_SHA_384
  • HA_HMAC_SHA_512
Familia SHA-3
  • HA_HMAC_SHA3_224
  • HA_HMAC_SHA3_256
  • HA_HMAC_SHA3_384
  • HA_HMAC_SHA3_512
TIGER family
  • HA_HMAC_TIGER_128
  • HA_HMAC_TIGER_160
  • HA_HMAC_TIGER_192
WHIRLPOOL familyHA_HMAC_WHIRLPOOL
  • Algoritmos MD4 / MD5 / SHA / RIPE: funciones de hash criptográficas estándar.
  • Algoritmos TIGER/WHIRLPOOL: funciones hash con altas propiedades criptográficas optimizadas para el modo de 64 bits (pero también se puede utilizar en el modo de 32 bits).
  • Algoritmo MURMUR: funciones de hash muy rápidas sin propiedades criptográficas. Este algoritmo es utilizado por el "filtro bloom" de los monederos bitcoin.
<String>: Cadena de caracteres
Cadena para la que se comprobará el Hash.
<Hash>: Cadena de caracteres
Una pizca de cuerda para comprobar. Este Hash debe ser el resultado de HashString previamente llamado para <Cadena> utilizando el <Tipo de algoritmo>.
<Secret key>: Cadena de caracteres o entero
Clave de autenticación del mensaje. Esta clave debe ser idéntica a la utilizada para calcular el Hash.
Windows

Comprobación de un hash obtenido mediante una función de derivación de claves que toma una sal como parámetro (PBKDF2) Ocultar los detalles

HashCheckString(<Type of algorithm> , <String> , <Hash> , <Salt> , <Iteration> , <Length>)
<Type of algorithm>: Constante de tipo Integer
Especifica el tipo de algoritmo pseudoaleatorio utilizado por PBKDF2 para el hash de :
MD4 familyHA_PBKDF2_HMAC_MD4
MD5 familyHA_PBKDF2_HMAC_MD5_128
Atención: este tipo de algoritmo está actualmente en desuso.
RIPEMD family
  • HA_PBKDF2_HMAC_RIPEMD_128
  • HA_PBKDF2_HMAC_RIPEMD_160
Familia SHA
  • HA_PBKDF2_HMAC_SHA_160
  • HA_PBKDF2_HMAC_SHA_256
  • HA_PBKDF2_HMAC_SHA_256_DOBLE
  • HA_PBKDF2_HMAC_SHA_384
  • HA_PBKDF2_HMAC_SHA_512
Familia SHA-3
  • HA_PBKDF2_HMAC_SHA3_224
  • HA_PBKDF2_HMAC_SHA3_256
  • HA_PBKDF2_HMAC_SHA3_384
  • HA_PBKDF2_HMAC_SHA3_512
TIGER family
  • HA_PBKDF2_HMAC_TIGER_128
  • HA_PBKDF2_HMAC_TIGER_160
  • HA_PBKDF2_HMAC_TIGER_192
WHIRLPOOL familyHA_PBKDF2_HMAC_WHIRLPOOL
  • Algoritmos MD4 / MD5 / SHA / RIPE: funciones de hash criptográficas estándar.
  • Algoritmos TIGER/WHIRLPOOL: funciones hash con altas propiedades criptográficas optimizadas para el modo de 64 bits (pero también se puede utilizar en el modo de 32 bits).
<String>: Cadena de caracteres
Cadena para la que se comprobará el Hash.
<Hash>: Cadena de caracteres
Una pizca de cuerda para comprobar. Este Hash debe ser el resultado de HashString previamente llamado para <Cadena> utilizando el <Tipo de algoritmo>.
<Salt>: Cadena de caracteres
Sal criptográfica idéntica a la utilizada para calcular el Hash.
<Iteration>: Integro
Número de iteraciones del algoritmo. Este parámetro debe ser idéntico al utilizado para calcular el Hash.
<Length>: Integro
Longitud de la clave derivada. Este parámetro debe ser idéntico al utilizado para calcular el Hash.
Observaciones

Función HashCheckString y UNICODE

Desarrollo multiplataforma: Para utilizar el Hash de cadenas entre varias plataformas (un hash generado en iOS y comprobado en Android o Windows por ejemplo), no se debe utilizar ninguna cadena Unicode. En efecto, las cadenas Unicode no tienen el mismo formato según las plataformas. En este caso, le aconsejamos que utilice cadenas en formato ANSI o UTF 8 (y que convierta las cadenas Unicode si es necesario)..
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290com.dll
Versión mínima requerida
  • Versión 11
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

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