Как отлаживать / исследовать поврежденные зашифрованные данные?

У меня есть кодовая база, которая хранит некоторые конфиденциальные данные в базе данных. Перед тем, как сохранить данные в БД, я зашифровываю их, используя эта крипто библиотека (документы здесь).

Чтобы расшифровать его, я использую следующее

use \Defuse\Crypto\Crypto;
use \Defuse\Crypto\Exception as Ex;

// The following is inside a class, but for clarity I only copy pasted this part

try {
return Crypto::decrypt($aStr, Crypt::$cryptoKey);

} catch (Ex\InvalidCiphertextException $ex) { // VERY IMPORTANT
// Either:
//   1. The ciphertext was modified by the attacker,
//   2. The key is wrong, or
//   3. $ciphertext is not a valid ciphertext or was corrupted.
// Assume the worst.
die('The ciphertext has been tampered with! Message:'.$ex->getMessage());
}
// I've got some more catch blocks here but they're not relevant for this question

Этот код прекрасно работает, но сегодня я наткнулся на одну запись базы данных, которая заставляет все это умереть на этом InvalidCiphertextException ловить. Я пробовал вручную с некоторым примером кода, но я всегда получаю InvalidCiphertextException,

Я предполагаю, что данные повреждены, но я не уверен, так ли это.

Запись находится в середине таблицы с 15000 записями, и все в порядке, и никаких изменений в этой части кода не происходило целую вечность.

Могу ли я что-нибудь сделать, чтобы исследовать (или даже расшифровать) это? Или я могу найти больше информации об этой записи или способе ее дальнейшей отладки?

Все советы приветствуются!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …