Spanish Como hago un encrypt/decrypt

bollanog

Member
Hola buenos días, hay alguna forma de usar la misma función de php pero hacerla en b4a? he tratado pero no encuentro suficiente información, anexo mi código de php. Lo ideal es que si genero en php me funcione también en b4a.

PHP:
function encrypt_decrypt($action, $string) {
    $output = false;

    $encrypt_method = "AES-256-CBC";
    $secret_key = 'This is my secret key1';
    $secret_iv = 'This is my secret ivs';

    // hash
    $key = hash('sha256', $secret_key);
    
    // iv - encrypt method AES-256-CBC expects 16 bytes - else you will get a warning
    $iv = substr(hash('sha256', $secret_iv), 0, 16);

    if ( $action == 'encrypt' ) {
        $output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv);
        $output = base64_encode($output);
    } else if( $action == 'decrypt' ) {
        $output = openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv);
    }

    return $output;
}
 

TILogistic

Expert
Licensed User
Longtime User
Yo he usado esto en mis proyectos y creo que es lo que buscas:


Actualizado:

librería:

 

bollanog

Member
Si yo lo estaba revisando pero me marca un error en
B4X:
Return SU.EncodeBase64(SaltIVMessage)
No se de donde sale la variable SU he igual con
B4X:
BC.ArrayCopy(Salt,0,SaltIVMessageBytes,0,32)
BC.ArrayCopy(IV,0,SaltIVMessageBytes,32,16)
BC.ArrayCopy(Message,0,SaltIVMessageBytes,48,Message.Length)
 

TILogistic

Expert
Licensed User
Longtime User
Cookies are required to use this site. You must accept them to continue using the site. Learn more…