Использование Halite Keys в новых функциях PHP 7.2 Sodium - PullRequest
0 голосов
/ 15 декабря 2018

У нас есть набор данных, которые были зашифрованы при установке PHP 7.1 с использованием Halite, и сервер недавно был обновлен до 7.2, который libsodium теперь является частью PHP.У нас есть наши файлы ключей (открытый и секретный), которые состоят из 200 символов (для демонстрации показан старый открытый открытый ключ теста ниже):

31400100d6c01eb5744a3b508b389a2b10e4b554f8f004f8a0afc78beb02f574bbf2d8017563a641bd508e6a3c132e3350bf1bd1bdf402115b2a628dd63cf5cf5dae1fedbe6e4bc2b5e58c372c3bd960fada57741ef204a9a19a767f126af653a60d5be0

Они были созданы с использованием следующего кода:

$encryptionKey = KeyFactory::generateEncryptionKey();
KeyFactory::save($encryptionKey, $keyPath . $keyPublic);

Мы использовали для шифрования / дешифрования следующим образом (конечно, никогда на одном сервере):

$webPublicKey = KeyFactory::loadEncryptionPublicKey($keyPath . $keyPublic);
$encrypted = Asymmetric::seal($string,$webPublicKey);

$webSecretKey = KeyFactory::loadEncryptionSecretKey($keyPath . $keySecret);
$decrypted = Asymmetric::unseal($encrypted,$webSecretKey);

Как мы используем эти ключи, сгенерированные в предыдущей версии libsodium / haliteрасшифровать наши существующие данные сейчас, когда мы находимся на PHP 7.2?Попытка использовать старые ключи в новых функциях sodium_ в PHP7.2 постоянно приводит к ошибкам относительно длины ключа.

Я ценю любые рекомендации, которые вы можете предоставить.

Спасибо!

...