Примечание Я собираюсь вручить награду @Luke Joshua Park, так как он дал мне самое близкое к тому, что в итоге оказалось (самым близким к) решением, которому нужно следовать.
(не а) решение
Ответ таков: нет конкретного ответа , не без неизвестных и отклонений.Три человека, которые смотрели на это во время написания статьи (я, Люк и Бартонж), все еще сомневались в 100% точном решении.
Был задан вопрос, чтобы выяснить надежный тип и размер для хранения зашифрованных данных, в идеале независимым от базы данных (я не хотел указывать конкретную базу данных, поскольку хотел знать и понимать, какрассчитать длину независимо от того, как она была сохранена).
Однако даже строки наименьшей длины оказались довольно длинными в худшем случае (где был создан случайный $ iv, содержащий много слэшей - вряд ли это было или нет, это было возможно).Возможные зашифрованные строки n=1
, возможно, длиной 400 байт означают, что varchar
никогда не будет правильным ответом.
Итак ... что должно быть сделано?
Таким образом, вместо этого представляется лучшим, наиболее последовательным и наиболее надежным хранить зашифрованные данные в виде текстового поля, а не varchar (на земле mysql).), независимо от длины исходной строки.Это удручающе скучный ответ без какой-либо сложной математики.Это не тот ответ, который я хотел бы принять, но он имеет смысл.
Но как насчет паролей?
В короткий момент глупости я подумал, а что с полем пароля?Это varchar
.Но, конечно, это хэшированное значение, а не зашифрованное (у меня не было достаточно кофе, когда эта мысль пришла мне в голову, хорошо?)