Шифрование и дешифрование для Triple DES в примере PHP в режиме ECB - PullRequest
0 голосов
/ 06 декабря 2018

Не могли бы вы дать мне полный пример того, как создать шифрование и дешифрование на языке PHP?Я использую гекса для данных и ключа.Я ищу в Google и нахожу, что есть один веб-сайт, который соответствует моим ожиданиям, который здесь .

Например,

Данные: 225551100012FFFF

Ключ: DC1C1F2B180F85D8D522A75D2354ED149A5B81F198387B51

Когда я расшифровал, я получил 389da227862957c4

Заранее спасибо!

1 Ответ

0 голосов
/ 07 декабря 2018

Нашел мой ответ с этого сайта http://www.isapp.it/en/menu-en/31-tips-a-tricks/php/118-php-how-to-encrypt-text-in-triple-des-ecb.html

Но так как я хочу зашифровать и расшифровать его с помощью hexa, я немного модифицирую код для этого

function cryptECB($crypt, $key) {
    //Omit hex2bin and bin2hex if plain text is used
    $crypt = hex2bin($crypt);
    $key = hex2bin($key);

    $iv_size = mcrypt_get_iv_size(MCRYPT_3DES, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    $cryptText = mcrypt_encrypt(MCRYPT_3DES, $key, $crypt, MCRYPT_MODE_ECB, $iv);

    return bin2hex($cryptText);
}

function decryptECB($encrypted, $key) {
    //Omit hex2bin and bin2hex if plain text is used
    $encrypted = hex2bin($encrypted);
    $key = hex2bin($key);
    $iv_size = mcrypt_get_iv_size(MCRYPT_3DES, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    $stringText = mcrypt_decrypt(MCRYPT_3DES, $key, $encrypted, MCRYPT_MODE_ECB, $iv);

    return bin2hex($stringText);
}
...