|
|
|
|
EncryptAsymmetric (Función) 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).
// Encrypting a character string // --------------------------------------- bufToEncrypt is Buffer = "Message to encrypt" bufEncryptedMessage is Buffer sPublicKeyFile is string = fExeDir() + "\PublicKey.pem" sPublicKeyPassword is string = "xxx" bufEncryptedMessage = EncryptAsymmetric(bufToEncrypt, sPublicKeyFile, ... sPublicKeyPassword, cryptPaddingPKCS1) // Decryption // ------------- bufEncryptedMessage is Buffer bufDecryptedMessage is Buffer sPrivateKeyFile is string = fExeDir() + "\PrivateKey.pem" sPrivateKeyPassword is string = "xxx" bufDecryptedMessage = DecryptAsymmetric(bufEncryptedMessage, sPrivateKeyFile, ... sPrivateKeyPassword, cryptPaddingPKCS1)
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 Buffer a cifrar. Atención: El tamaño del mensaje a cifrar debe ser inferior al tamaño de la clave menos el tamaño mínimo del 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 de caracteres opcional Contraseña del archivo de claves (si es necesario). <Padding>: Constante opcional de tipo Integer Modo de relleno de los datos cifrados para que sean compatibles con el tamaño requerido por los algoritmos de cifrado por bloques:
| | cryptPaddingOAEP | Relleno según el algoritmo OAEP (Optimal Asymmetric Encryption Padding). | cryptPaddingPKCS1 (Valor predeterminado) | Relleno según el algoritmo PKCS 1 (Public Key Cryptographic Standards). |
Clasificación Lógica de negocio / UI: Lógica de negocio
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|