Encripta y Desencripta AES128 en Dynamics 365 for Finance and Operations

Cuando es necesario guardar datos seguros en campos de D365FO, es posible usar AES128 de la siguiente forma:

public static void main(Args _args)

{

System.Security.Cryptography.AesManaged aes = new System.Security.Cryptography.AesManaged();

System.Text.ASCIIEncoding testvariable = new System.Text.ASCIIEncoding();

//Generando llave con base en password y salt Rfc2898DeriveBytes(password, salt)

System.Security.Cryptography.Rfc2898DeriveBytes(«password», testvariable.GetBytes(«salt12345678»));

System.Byte[] encrypted;

System.Byte[] dencrypted;

str datoEncriptar = «Texto a encriptar»;

//Convierte a bytes el texto a encriptar

System.Byte[] data = testvariable.GetBytes(datoEncriptar);

aes.KeySize = 128;

aes.BlockSize = 128;

//Creando el algoritmo AES con llave de 256bits y BlockSize de 128bits

aes.Key = rfc2898.GetBytes(aes.KeySize / 8);

aes.IV = rfc2898.GetBytes(aes.BlockSize / 8);

//Tambien es posible generarlo con el propio AESManaged

//aes.GenerateKey();

//aes.GenerateIV();

//Encripta

System.Security.Cryptography.ICryptoTransform encryptor = aes.CreateEncryptor();

encrypted = encryptor.TransformFinalBlock(data, 0, data.Length);

//Convertir a un string lo encriptado

str textoEncriptado = testvariable.GetString(encrypted);

//Desencripta

System.Security.Cryptography.ICryptoTransform dencryptor = aes.CreateDecryptor();

dencrypted = dencryptor.TransformFinalBlock(encrypted, 0, encrypted.Length);

str textoDesEncriptado = testvariable.GetString(dencrypted);

info(strFmt(«Texto a encriptar: %1, Texto encriptado: %2, Texto desencriptado: %3», datoEncriptar, textoEncriptado, textoDesEncriptado));

}

,

Enviar información de D365F&O a un Data Lake

El cambio que representa el cómo se almacena y se accede a…

Consumir un servicio SOAP Custom utilizando SoapUI

En algunas ocasiones es necesario consumir un servicio SOAP…
,

Soluciones de almacenamiento en Azure

¿Qué es Azure? Azure es un servicio de computación en…