Как рассчитать максимальную длину вывода метода шифрования Laravel? [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как рассчитать максимальную длину вывода метода шифрования Laravel? [дубликат]

Сообщение Anonymous »

Настройка
При следующих условиях:

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

$s = Crypt::encryptString('a');
Можно ли для строки длиной 1 узнать возможный диапазон длин $s?
Контекст< /h2>
Хранилище базы данных — необходимо хранить зашифрованное значение, и хотелось бы установить проверку входной строки, чтобы входная строка самой длинной длины в зашифрованном виде вставлялась в базу данных без усечения.
Хранилище базы данных — необходимо хранить зашифрованное значение и хотелось бы установить проверку входной строки, чтобы входная строка самой длинной длины в зашифрованном виде вставлялась в базу данных без усечения.
Хранилище базы данных. p>
Базовые тесты
Выполнение некоторых очень грубых тестов локально с использованием следующего фрагмента:

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

Route::get('/test', function() {
echo '';
for ($i=0; $i < 100; $i++) {
$s = str_repeat('a', $i);
$l1 = strlen($s);
$l2 = strlen(Crypt::encryptString($s));
echo "$l1$l2";
}
echo '';
});
Я вижу следующее, но оно варьируется в зависимости от прогона, например, строка «a» будет иметь длину 188 или 192 (более длинные значения находятся в диапазоне от 244 до 248).
Значит, должна быть формула. Я видел выходной_размер = входной_размер + (16 - (input_size % 16)), но не учитывает дисперсию.
Вывод

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

0   192
1   188
2   188
3   192
4   188
5   188
6   188
7   192
8   192
9   188
10  188
11  192
12  192
13  192
14  192
15  192
16  220
17  220
18  216
19  216
20  220
Изменить
Хорошо, после беседы с @Luke Joshua Park ниже, разница в длине связана с функцией шифрования Laravel и способом $iv Создается , представляющий собой случайные байты, которые могут содержать /. внутри метода шифрования также может содержать /.
Когда значения, содержащие /, закодированы в формате JSON, / экранировался в \\\/, добавляя по 3 символа в каждом экземпляре.
Настоящая проблема — могут ли $iv и $value содержать более одного '/'?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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