в sqflite, это не скажется особо на производительности?
Вернее не одно изображения, а типа галерею
imho плохая идея. А для какой цели вы БД напрягаете?
Мне нужно хранить изображения зашифрованными. Почему плохая?
ну вы же понимаете, что БД где то хранит файлы. Вы фигачете еще и прослойку. Логичнее шифровать и записывать в файлы.
Я понимаю, что БД храниться в файле, меня интересует есть ли разница в производительности для пользователя между хранением в файлах и БД
я только что написал что ДА
Так лучше использовать именно шифрование, а не кодирование) потеря в производительности не критичная... Проще хранить в самой бд шифрованые данные, нежели всю бд шифровать. Хотя последнее будет производительнее вроде как
Это не оптимальное решение потаму что всегда base64 code на 20-30% больше по размеру чем сама картинка в таком случий если есть например 10 таких картинок по 2 мб если хоронить только URL то там response будет 2-3кб а если будет хоронить base64 то response будет там больше почти 15мб данные будут очень большим) не стоит так заделать или хоть использовать другую шифровку
Спасибо! Какую например другую шифровку?
не надо вообще их в базе хранить. Храните как файлы, а в базе только путь
Мне же нужно картинки шифровать. Если буду хранить файлом, то получается при каждом просмотре нужно читать файлы. Чем хуже подход создать отдельную таблицу images и так же записывать и читать от туда?
base64 – это не шифрование, а кодирование. Это разные вещи. > Если буду хранить файлом, то получается при каждом просмотре нужно читать файлы. Если хранить в базе, то оттуда точно так же придется читать, а потом еще перекодировать обратно в изображение.
а для чего картинки шифровать? они не от сервера приходят?
> base64 – это не шифрование, а кодирование. Это разные вещи. Я понимаю, я хочу шифровать изображение закодированное в base64. Если же хранить зашифрованное base64-изображение файлом, а не в БД, нет ведь преимуществ по производительности?
У БД есть преимущество
Во-первых, перед шифрованием необязательно перекодировать в base64. Кто мешает зашифровать исходный файл напрямую? Во-вторых, как уже сказали, base64 увеличит размер. В-третьих, БД для этого не предназначена, нафига туда пихать огромные файлы, если для этого есть файловая система?
в sqflite есть тип поля blob сохраните туда набор зашифрованный набор бит и все
а вы знаете какой-нибудь пакет для шифрования файлов, а не строки?
какой вы используете для шифрование строки?
тип file дает доступ к набору битов файла, можете сделать с ним что угодно и сохранить в базу, для чтения обратный процесс
Все шифрования работают с байтами, а не со строками) это если только кто-то для удобства сделал преаброзвание строки в байты через utf8 и последующим шифрованием
Ого, это в скулайте есть?
вот это вроде самое популярное https://pub.dev/packages/encrypt
ну так он с байтами спокойно работает: https://pub.dev/documentation/encrypt/latest/encrypt/Encrypter/encryptBytes.html
Ну интерфейс блоба, как в браузере... Или почему там у тебя файл и бд в одном предложении?
Обсуждают сегодня