Вопрос

Как лучше всего зашифровать значение в INI-файле?

Использование ключа шифрования/дешифрования??

Это было полезно?

Решение

Для чего?Безопасность?

Если вы пытаетесь (например) зашифровать пароль в виде открытого текста, вам, вероятно, следует использовать какую-либо реализацию PKI.Однако помните, что тогда управление ключами станет вашей проблемой.Простое шифрование значения не является панацеей, поскольку ini-файл, скорее всего, находится в файловой системе локального хоста, предположительно в том же месте, где вам придется хранить пару ключей.Вы просто абстрагировали проблему на один уровень.Они не смогут прочитать ваш зашифрованный пароль напрямую, но если они смогут найти место, где вы храните пару ключей, они смогут расшифровать его самостоятельно.

Другие советы

Какой эффект?Что вы пытаетесь защитить или запутать?

Вы можете использовать один из многих алгоритмов шифрования с двусторонним ключом, доступных для всех платформ...Но спросите себя, почему вы вообще это делаете.Если вы пытаетесь сделать что-то защищенное от взлома, шифрование строк ini, вероятно, не поможет вам так далеко, потому что как только вы расшифроваете ini, строка окажется в памяти.И ключ для расшифровки будет в вашей программе.Childsplay, чтобы взломать.

Если вы просто хотите, чтобы люди не могли легко редактировать настройку, не помещайте ее в ini.Выберите двоичный формат, который пользователю будет сложно редактировать.

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

Я помещу ключ доступа в сам код.Это не позволяет случайному шпиону просто просмотреть и подобрать пароль электронной почты.

Код тоже довольно простой.Вот это на Python.

import random
import base64
def tinycode(key, text, reverse=False):
    "(de)crypt stuff"
    rand = random.Random(key).randrange
    if reverse:
        text = base64.b64decode(text)
    text = ''.join([chr(ord(elem)^rand(256)) for elem in text])
    if not reverse:
        text = base64.b64encode(text)
    return text

Для большей безопасности я использую PGP, но тогда вам придется запрашивать пароль.Не существует идеальных настроек, все зависит от ваших потребностей.

Вы можете использовать любой стандартный алгоритм шифрования с ключом и, возможно, перед шифрованием добавить к значению случайное дополнение.

Однако где вы тогда планируете хранить этот ключ?Или вы собираетесь заставить пользователя ввести пароль и получить из него ключ?В противном случае было бы совершенно бессмысленно шифровать значение.

Вам тоже нужно его расшифровать?Если нет, ты можешь просто соль и хэшируйте его.

Если вы действительно хотите его расшифровать, я бы сказал, что вам, возможно, следует также указать язык.

MD5-хеш

Затем вы сравниваете хеш («пароль») с хешем ini_file.password.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top