PHP-код для шифрования и дешифрования, который создает различный зашифрованный текст при каждом выполнении. Кто-нибудь может мне помочь с эквивалентным кодом в PL / SQL - PullRequest
0 голосов
/ 06 сентября 2018
$data = 'Durgadevi'.date('Y-m-d H:m:s');
$b = encrypt($data);
echo '<b>actual data: </b>'.$data.'<br><b> encrypted code: </b>'.$b;
function encrypt($string)
{
    $encrypt_method = "AES-256-CBC";
    $secret_key = '123456';
    $secret_iv = 'This is my secret iv';
    $key = hash('sha256',$secret_key);
    $iv = substr(hash('sha256',$secret_iv),0,16);
    $output = openssl_encrypt($string,$encrypt_method,$key,0,$iv);
    return $output;
}

После выполнения функции шифрования

ВЫВОД:

фактические данные: Дургадеви11: 07: 40

зашифрованный код: Fxf6Q73Fs5byu6e2R0nTwG01n4vsoBAyfefSY5HBSWM =

$data = 'Fxf6Q73Fs5byu6e2R0nTwG01n4vsoBAyfefSY5HBSWM=';
$b = decrypt($data);
echo '<b> actual data: </b>'.$data.'<br><b> decrypted code: </b>'.$b;

function decrypt($string)
{
    $encrypt_method = "AES-256-CBC";
    $secret_key = '123456';
    $secret_iv = 'This is my secret iv';
    $key = hash('sha256',$secret_key);
    $iv = substr(hash('sha256',$secret_iv),0,16);
    $output = openssl_decrypt($string,$encrypt_method,$key,0,$iv);
    return $output;
}

После выполнения функции дешифрования

ВЫВОД:

фактические данные: Fxf6Q73Fs5byu6e2R0nTwG01n4vsoBAyfefSY5HBSWM =

расшифрованный код: Durgadevi11: 07: 40

1 Ответ

0 голосов
/ 06 сентября 2018

Вы можете использовать функцию ниже для шифрования и дешифрования.

function encryptDecrypt($action, $data) {
    $output = false;
    $encrypt_method = "AES-256-CBC";
    $secret_key ="g3hR0m9FY1r+9ZXLdriXI4U6AxsYqlbISe8Qne9DuJU9R1AlvsV1GWQMQhP0NcvvtnvSB1AoIBAQD8zQp+VhgSH";
    $secret_iv = "xaghJBqlqQPkox2djChy3+3tmEPZJpypp4Euy2sDLSgyP+nsecrkP18bfl2i+ChPAoIBAQC3FijLZr74H0m9oGj0hPAlfcAh5bTMvAF4993M8BjncApCzKMOK3CLT+278dquihNCyrbK6/FjDMw9sGl5kctenaOVcvtdupMWtX9U9KmH8G1XCX/Xr/umpgAxjh+l69v4lrDRln48/gT9zfdKjZ5OiuW+M+gbNL6qGAM";

    $key = hash('sha256', $secret_key);
    $iv = substr(hash('sha256', $secret_iv), 0, 16);

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

//Call as below

$string = 'Durgadevi'.date('Y-m-d H:m:s');
echo $encString = encryptDecrypt('encrypt', $string);
echo "<br/>";
echo encryptDecrypt('decrypt', $encString); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...