php7
<? php? $ key = "1234567890123456"; $ encrypt_data = openssl_encrypt ( 'ABCDEFG', "AES-128-BCE, $ clave, 0, ""); echo $ encrypt_data; echo '<br/>'; $ decrypt_data = openssl_decrypt ($ encrypt_data, AES-128-BCE, $ clave, 0, ""); echo $ decrypt_data; echo '<br/>'; ?>
C#
using System; usando System.Security.Cryptography; usando System.Text; ConsoleApp18 espacio de nombres { clase del Programa { static void main (String [] args) { contenido var = "ABCDEFG"; clave var = "1234567890123456"; var str1 = Cifrar (contenido, clave); Console.WriteLine (str1); str2 var = Decrypt (str1, clave); Console.WriteLine (str2); Console.ReadLine (); } Public static string Cifrar (cadena toEncrypt, clave de cadena) { byte [] = keyarray UTF8Encoding.UTF8.GetBytes (clave); byte [] toEncryptArray = UTF8Encoding.UTF8.GetBytes (toEncrypt); AesCryptoServiceProvider RDEL = nuevo AesCryptoServiceProvider (); rDel.Key = keyarray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform CTransform = rDel.CreateEncryptor (); byte [] resultArray = cTransform.TransformFinalBlock (toEncryptArray, 0, toEncryptArray.Length); retorno Convert.ToBase64String (resultArray, 0, resultArray.Length); } Public static string Descifrar (cadena toDecrypt, clave de cadena) { byte [] = keyarray UTF8Encoding.UTF8.GetBytes (clave); byte [] = toEncryptArray Convert.FromBase64String (toDecrypt); AesCryptoServiceProvider RDEL = nuevo AesCryptoServiceProvider (); rDel.Key = keyarray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform CTransform = rDel.CreateDecryptor (); byte [] resultArray = cTransform.TransformFinalBlock (toEncryptArray, 0, toEncryptArray.Length); retorno UTF8Encoding.UTF8.GetString (resultArray); } } }
Nota php relleno predeterminado longitud de la clave no es el modo de 16 bytes PKCS7 rellenar automáticamente la longitud C # clave de 16 bytes no ser dado
Los resultados operativos