Да, можно хранить соленый объект в ТЕКСТЕ или поле BLOB в базе данных SQLite3, как другие объяснили.
Просто знать, что некоторый объект не может быть соле . Встроенные контейнерные типы могут (dict, устанавливать, перечислять, кортеж, и т.д.). Но некоторые объекты, такие как дескрипторы файлов, относятся, чтобы указать, что это является внешним к их собственным структурам данных, и другие дополнительные типы имеют подобные проблемы.
, Так как словарь может содержать произвольные вложенные структуры данных, это не могло бы быть способно рассолом.
Пароли и конфиденциальные данные лучше не включать в исходный файл. Если вы посмотрите на дизайн программного обеспечения с открытым исходным кодом, такого как PHPMyAdmin, для добавления этой информации предоставляется файл конфигурации, который обычно хранится в корневой папке веб-хоста (или где-либо за пределами папки www).
Идея состоит в том, что если ваш веб-сайт использует некоторую информацию для ссылки на службу, вы также должны скрыть их в файле и попросить пользователя предоставить пароль и создать свою собственную учетную запись.
Нельзя ли поместить ваши разумные данные в файл конфигурации? Это также позволит другим пользователям легко добавлять свою конфиденциальную информацию и т. Д.
Вы не должны включать конфиденциальные данные в открытый доступ, поэтому одним из вариантов может быть создание общедоступного API для служб, а затем пользователям потребуется создать учетную запись для получения ключа API. для данных.
Я не думаю, что это должно остановить вас от продуктов с открытым исходным кодом, но я думаю, что вам нужно переосмыслить способ передачи данных через общедоступный API.
Хотя программные коды имеют открытый исходный код, ваши конфиденциальные данные - нет. Никогда не «предоставляйте» свои данные другим.
Обычно односторонняя проверка хеширования уже может использоваться как базовое шифрование. Если требуется дополнительная безопасность, используйте дополнительные меры, такие как открытые и закрытые ключи и общие пароли.
Если вы жестко кодируете пароль базы данных в своем коде, вы делаете это неправильно. Как указывали другие, вы должны сохранить это в отдельном и защищенном файле конфигурации.
Если вы распространяете свой код, будь то исходный код или просто двоичный файл, этот пароль существует и может быть восстановлен любым, кто захочет это сделать. Жестко закодированные пароли в двоичных файлах часто являются тривиальным делом для восстановления хакером.