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
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Cifra un buffer utilizando un algoritmo de cifrado asimétrico (RSA) que requiere una clave pública y una clave privada.
El mensaje puede ser descifrado:
  • con la función DecryptAsymmetric.
  • con un software de terceros (usando las mismas opciones de relleno).
Ejemplo
// Cryptage d'une chaîne de caractères
// ---------------------------------------
bufACrypter is Buffer = "Message à crypter"
bufMessageCrypté is Buffer
sFichierCléPublique is string = fExeDir() + "\ClePublique.pem"
sMotDePasseCléPublique is string = "xxx"

bufMessageCrypté = EncryptAsymmetric(bufACrypter, sFichierCléPublique, ...
	sMotDePasseCléPublique, encryptPaddingPKCS1)

// Décryptage  
// -------------
bufMessageCrypté is Buffer
bufMessageDécrypté is Buffer
sFichierCléPrivée is string = fExeDir() + "\ClePrivee.pem"
sMotDePasseCléPrivée is string = "xxx"

bufMessageDécrypté = DecryptAsymmetric(bufMessageCrypté, sFichierCléPrivée, ...
	sMotDePasseCléPrivée, encryptPaddingPKCS1)
bufACrypter is Buffer = StringToUTF8("?????? Test")
bufCléPrivée is Buffer
bufCléPublique is Buffer
(bufCléPrivée, bufCléPublique) = EncryptGenerateRSAKey(1024)
// Cryptage
bufChiffré is Buffer = EncryptAsymmetric(bufACrypter, bufCléPublique)
bufSign is Buffer = CertificateSignString(bufChiffré, bufCléPrivée, "", ...
					certSignatureOnly + certSHA256)
// Décryptage
IF CertificateCheckString(bufChiffré, bufSign, bufCléPublique, "", "", ...
					certSignatureOnly + certSHA256) THEN
	bufClair is Buffer = DecryptAsymmetric(bufChiffré, bufCléPrivée)
	Trace("Message authentique")
	Trace(UTF8ToString(bufClair))
ELSE
	Trace("Message non authentifié")
END
Sintaxis
<Result> = EncryptAsymmetric(<Content to encrypt> , <Public key file> [, <Password> [, <Padding>]])
<Result>: Cadena de caracteres o Buffer
Resultado del cifrado del mensaje especificado.
<Content to encrypt>: Buffer
Búfer a cifrar.
Nota: El mensaje a cifrar debe ser menor que el tamaño de la clave menos el tamaño mínimo de Relleno (11 bytes para PKCS1 y 41 para OAEP).
Por ejemplo, para una clave de 4096 bits y el relleno OAEP, el mensaje no puede superar los 471 bytes.
<Public key file>: Cadena de caracteres o Buffer
  • Nombre y ruta del archivo que corresponde a la clave pública que se utilizará para el cifrado. Los formatos de clave pem, der y p12 están soportados.
  • Buffer que contiene la clave pública que se utilizará para el cifrado.
<Password>: Cadena opcional o cadena secreta
Contraseña del archivo de claves (si es necesario).
Novedad versión 2025
Cadenas secretas: Si utiliza el almacén de cadenas secretas, el tipo de cadena secreta utilizado para este parámetro debe ser "ANSI o Unicode string".
Para obtener más información sobre las cadenas secretas y el almacén, consulte Almacén de cadenas secretas.
<Padding>: Constante opcional de tipo Integer
Modo de Relleno para que los datos cifrados sean compatibles con el tamaño exigido por los algoritmos de cifrado por bloques:
cryptPaddingOAEPRelleno según el algoritmo OAEP (Optimal Asymmetric Encryption Padding).
encryptPaddingPKCS1
(Valor predeterminado)
Relleno según el algoritmo PKCS 1 (Public Key Cryptographic Standards).
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd300com.dll
Versión mínima requerida
  • Versión 24
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 24/05/2025

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