Cristobal como siempre gracias por responder, en este momento me encuentro leyendo sobre el tema de openssl, es nuevo para mi. Pero a lo que quiero llegar, es a traducir este codigo de php a xharbour "si se puede".
//Configuraci贸n del algoritmo de encriptaci贸n
//Debes cambiar esta cadena, debe ser larga y unica
//nadie mas debe conocerla
$clave = 'Una cadena, muy, muy larga para mejorar la encriptacion';
//Metodo de encriptaci贸n
$method = 'aes-256-cbc';
// Puedes generar una diferente usando la funcion $getIV()
$iv = base64_decode("C9fBxl1EWtYTL1/M8jfstw==");
聽/*
聽Encripta el contenido de la variable, enviada como par谩metro.
聽 */
聽$encriptar = function ($valor) use ($method, $clave, $iv) {
聽 聽 聽return openssl_encrypt ($valor, $method, $clave, false, $iv);
聽};
聽/*
聽Desencripta el texto recibido
聽*/
聽$desencriptar = function ($valor) use ($method, $clave, $iv) {
聽 聽 聽$encrypted_data = base64_decode($valor);
聽 聽 聽return openssl_decrypt($valor, $method, $clave, false, $iv);
聽};
聽/*
聽Genera un valor para IV
聽*/
聽$getIV = function () use ($method) {
聽 聽 聽return base64_encode(openssl_random_pseudo_bytes(openssl_cipher_iv_length($method)));
聽};
聽?>
聽
聽
聽<?php
聽
/**
聽* function to encrypt
聽* @param string $data
聽* @param string $key
聽*/
function encrypt($data,$key)
{
聽 聽 $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
聽 聽 $encrypted=openssl_encrypt($data, "aes-256-cbc", $key, 0, $iv);
聽 聽 // return the encrypted string with $iv joined
聽 聽 return base64_encode($encrypted."::".$iv);
}
聽
/**
聽* function to decrypt
聽* @param string $data
聽* @param string $key
聽*/
function decrypt($data,$key)
{
聽 聽 list($encrypted_data, $iv) = explode('::', base64_decode($data), 2);
聽 聽 return openssl_decrypt($encrypted_data, 'aes-256-cbc', $key, 0, $iv);
}
聽
聽
$key="1235@";
$string="la casa azul";
聽
$encryptado=encrypt($string,$key);
echo $encryptado;
echo "<hr>";
echo decrypt($encryptado,$key);