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)
bufToEncrypt is Buffer = StringToUTF8("?????? Test")
bufPrivateKey is Buffer
bufPublicKey is Buffer
(bufPrivateKey, bufPublicKey) = EncryptGenerateRSAKey(1024)
// Encryption
bufEncrypted is Buffer = EncryptAsymmetric(bufToEncrypt, bufPublicKey)
bufSign is Buffer = CertificateSignString(bufEncrypted, bufPrivateKey, "", ...
					certSignatureOnly + certSHA256)
// Decryption
IF CertificateCheckString(bufEncrypted, bufSign, bufPublicKey, "", "", ...
					certSignatureOnly + certSHA256) THEN
	bufReadable is Buffer = DecryptAsymmetric(bufEncrypted, bufPrivateKey)
	Trace("Authentic message")
	Trace(UTF8ToString(bufReadable))
ELSE
	Trace("Unauthenticated message")
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