encrypt/decrypt in Harbour and php

encrypt/decrypt in Harbour and php

Postby MOISES » Fri Dec 20, 2019 6:21 pm

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
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Re: encrypt/decrypt in Harbour and php

Postby leandro » Sat Dec 21, 2019 12:56 pm

Pues no es exactamente encriptar... pero para ocultar un poco el contenido puedes usar la codificación en base64.

Encode y decode en xharbour
Code: Select all  Expand view  RUN

cBas64 := hb_base64encode(::user+":"+::pass,len(::user+":"+::pass)) 
cString := hb_base64decode(::respuesta["qrdata"])
 


en PHP
Code: Select all  Expand view  RUN

$str = 'This is an encoded string';
echo base64_encode($str);

<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
echo base64_decode($str);
?>
 


En este momento me encuentro investigando y avanzando de a poco sobre el tema de encriptar con los comandos openssl apenas tenga resultados comento.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: encrypt/decrypt in Harbour and php

Postby cnavarro » Sat Dec 21, 2019 5:11 pm

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.


Leandro, What openssl functions are you using?

Moises, use functions hb_base64Encode and hb_base64Decode
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: encrypt/decrypt in Harbour and php

Postby leandro » Sat Dec 21, 2019 5:28 pm

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".

Code: Select all  Expand view  RUN

//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);
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: encrypt/decrypt in Harbour and php

Postby MOISES » Sat Dec 21, 2019 7:57 pm

Muchas gracias.

¿No existe un método de encriptacion más fuerte?
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Re: encrypt/decrypt in Harbour and php

Postby cnavarro » Sat Dec 21, 2019 9:48 pm

MOISES wrote:Muchas gracias.

¿No existe un método de encriptacion más fuerte?


Look for the hb_Crypt and hb_Decrypt functions, and you can even support yourself for using these functions in the cMimeEnc and cMimeDec functions

Pd: in this forum, please use the English language. Thank you


Busca las funciones hb_Crypt y hb_Decrypt, e incluso puedes apoyarte para el uso de estas funciones en las funciones cMimeEnc y cMimeDec

Pd: en este forum, por favor, usad el idioma inglés. Gracias
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: encrypt/decrypt in Harbour and php

Postby MOISES » Sun Dec 22, 2019 9:47 am

Thank you Cristóbal.

Do you refer to this?

https://github.com/vszakats/hb/blob/mas ... /hbcrypt.c
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Re: encrypt/decrypt in Harbour and php

Postby cnavarro » Sun Dec 22, 2019 10:01 am

Yes, but in version 3.2 there are also
I use this functions with cMimeEnc and cMimeDec functions
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 101 guests