Hi,
Are there a set of functions that, for example, I encrypt the string in the php web page, and I read and decrypt in Habour -prg code?
Thank you
cBas64 := hb_base64encode(::user+":"+::pass,len(::user+":"+::pass))
cString := hb_base64decode(::respuesta["qrdata"])
$str = 'This is an encoded string';
echo base64_encode($str);
<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
echo base64_decode($str);
?>
leandro wrote:En este momento me encuentro investigando y avanzando de a poco sobre el tema de encriptar con los comandos openssl apenas tenga resultados comento.
//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);
MOISES wrote:Muchas gracias.
¿No existe un método de encriptacion más fuerte?
Return to FiveWin for Harbour/xHarbour
Users browsing this forum: No registered users and 87 guests