v2.5.2
Giriş yap

OpenSSL dizi verilerinin şifresini çözme..

hakankorkz
637 defa görüntülendi

OpenSSL dizi verilerinin şifresini çözme..

Merhaba arkadaşlar tayfun hocamızın göstermiş olduğu OpenSSL veri şifreleme metodu array verilerde işlemiyor son veri şifreleniyor fakat şifre çözüldüğünde son array'ın şifresi çözülüyor örnek yapım aşağıda...

<?php


function lockey($data)
{

    $datatype = gettype($data);

    if ($datatype == 'array') { // Array veri şifreleme..

        $datacount = count($data);

        for ($say = 0; $say < $datacount; $say++) {

            $veri=$data[$say];

            $cipher = 'AES-128-ECB';

            $key='123';

            $encoded = openssl_encrypt($veri, $cipher, $key);

        }

    } else { // String ve diğer türde şifreleme..

        $cipher = 'AES-128-ECB';

        $key='123';

        $encoded = openssl_encrypt($data, $cipher, $key);


    }

    return $encoded;

}

function openkey($encoded)
{

  $key='123';

    $data = str_replace(' ','+',$encoded);


    $cipher = 'AES-128-ECB';

    $decoded = openssl_decrypt($data, $cipher, $key);

    return $decoded;

}


$veri = ['test', 'test2'];

echo $veridata=lockey($veri); // çıktısı: wLUkfrnPNkafzMPRIdcMdQ==


echo '<br>';

echo openkey($veridata); // çıktısı: test2

fakat gördüğünüz gibi veri değişkeni array türünde veri gönderiyor dögü işlemi de gerçekleşiyor fakat çıktımız son verinin şifresini çözüyor...

umarım soruyu düzgün anlata bilmişimdir...

Cevap yaz
Cevaplar (3)
firatogr
1267 gün önce

for her döndüğünde şifrelenmiş değeri $encoded'a eşitliyorsun. Yani $encoded ilk önce dizinin ilk elemanını depoluyor sonra for bir daha döndüğünde sırayla son elemana kadar gidiyor. Burda yapman gereken for'un üstünde $encoded = []; yazman ve sonrasında eşitlerken de $encoded[] = openssl_encrypt($veri, $cipher, $key); yazman olacaktır.

hakankorkz
1267 gün önce

Teşekkürler dostlar cevaplarınız için..

serhatgg
1268 gün önce

array denemedim daha önce ama eğer basit bir şeyler şifreleyeceksen belki arrayi test1;test2 gibi stringe çevirip daha sonra şifreleye bilirsin çödükten sonrada explode ile ayırırsın