Зеркальный фрагмент кода, который генерирует ключ и вектор инициализации в PHPPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Зеркальный фрагмент кода, который генерирует ключ и вектор инициализации в PHP

Сообщение Anonymous »

У меня есть метод, написанный на C#, который генерирует ключ и вектор инициализации и использует их для шифрования данных. Я пытаюсь отразить этот метод в реализации PHP, но проблема в разных зашифрованных значениях, генерируемых на C# и PHP. Я провел расследование и обнаружил, что ключ и IV, используемые для шифрования, различаются в двух реализациях.
Ниже приведены соответствующие блоки кода, используемые для генерации ключа и IV в C# и PHP.< /p>
Фрагмент кода C#

Код: Выделить всё

string password = 'pass here';
byte[] salt = new byte[] { 0x43, 0x87, 0x23, 0x72, 0x45, 0x56, 0x68, 0x14, 0x62, 0x84 };
PasswordDeriveBytes pdb = new PasswordDeriveBytes(password, salt);
aesAlg.Key = pdb.GetBytes(32);
aesAlg.IV = pdb.GetBytes(16);
Console.WriteLine("Key: " + BitConverter.ToString(aesAlg.Key).Replace("-", ""));
Console.WriteLine("IV: " + BitConverter.ToString(aesAlg.IV).Replace("-", ""));
Фрагмент PHP-кода

Код: Выделить всё

$password = 'pass here';
$salt = hex2bin('43872372455668146284');
$keyLength = 32; // 32 bytes for AES-256 key
$ivLength = 16;  // 16 bytes for AES block size
$combinedLength = $keyLength + $ivLength;
$derivedBytes = hash_pbkdf2("sha1", $password, $salt, 100, $combinedLength, true);
$key = substr($derivedBytes, 0, $keyLength);
$iv = substr($derivedBytes, $keyLength, $ivLength);
echo "Key: " . bin2hex($key) . "\n";
echo "IV: " . bin2hex($iv) . "\n";
Кто-нибудь заметил разницу в этих двух реализациях, из-за которых код генерирует разные ключ и IV?

Подробнее здесь: https://stackoverflow.com/questions/786 ... tor-in-php
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Зеркальный фрагмент кода, который генерирует ключ и вектор инициализации в PHP
    Anonymous » » в форуме C#
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Зеркальный API. Быстрый старт PHP — подписка на уведомления об ответах?
    Anonymous » » в форуме Php
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Зеркальный SQL Server в DuckDB Локальную базу данных с SQLALCHEMY: ограничение не реализовано
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Зеркальный SVG с использованием CSS имеет артефакт
    Anonymous » » в форуме CSS
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Зеркальный SVG с использованием CSS имеет артефакт
    Anonymous » » в форуме CSS
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»