Question

Quelle est la meilleure façon de chiffrer une valeur dans le fichier INI?

En utilisant la clé de chiffrement / déchiffrement ??

Était-ce utile?

La solution

Dans quel but? Sécurité?

Si vous essayez de (par exemple) chiffrer un mot de passe en texte clair, vous devriez probablement utiliser une mise en œuvre de l'ICP. Rappelez-vous cependant, que la gestion des clés devient alors votre problème. Il suffit de chiffrer la valeur est pas une panacée car le fichier ini est le plus probable sur le système de fichiers de l'hôte local, probablement au même endroit que vous aurez à stocker votre paire de clés. Vous avez simplement Abstraite le problème vers le bas une couche. Ils ne seront pas en mesure de lire directement votre mot de passe crypté, mais s'ils peuvent trouver l'endroit où vous stockez votre paire de clés, ils peuvent le déchiffrer eux-mêmes.

Autres conseils

Pour quel effet? Qu'est-ce que vous essayez de protéger ou masquer?

Vous pouvez utiliser l'un des nombreux algorithmes de chiffrement à clé à deux voies disponibles pour toutes les plateformes ... Mais demandez-vous pourquoi vous le faire en premier lieu. Si vous essayez de faire quelque chose hack preuve, le cryptage des chaînes ini est probablement pas pour vous rendre loin parce que dès que vous décryptez les ini, la chaîne est en mémoire. Et la clé pour déchiffrer sera dans votre programme. Childsplay à pirater.

Si vous voulez juste pour empêcher les gens l'édition d'un paramètre facilement, ne le mettez pas dans un ini. Choisissez un format binaire que l'utilisateur aura une édition du mal.

Pour les scripts personnels où j'ai un mot de passe e-mail, j'utilise TinyEncryption.

Je vais mettre le mot de passe dans le code lui-même. Cela empêche un fouineur occasionnel de navigation juste à travers et ramasser un mot de passe de messagerie.

Le code est assez simple aussi. Ici, il est en 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

Pour plus de sécurité renforcée, j'utiliser PGP, mais vous devez alors demander un code d'accès. Il n'y a pas l'installation qui est parfait, cela dépend de vos besoins.

Vous pouvez utiliser un algorithme de chiffrement standard avec une clé, et le préfixe peut-être la valeur avec certains types de remplissage aléatoire avant de le chiffrer.

Mais où comptez-vous conserver cette touche alors? Vous allez obtenir l'utilisateur d'entrer un mot de passe et d'en tirer une clé de cela? Sinon il serait assez inutile de chiffrer la valeur.

Avez-vous besoin de le déchiffrer aussi? Sinon, vous pouvez simplement sel et hachage il.

Si vous ne voulez décrypter, puis Id dire que vous devez spécifier la langue et peut-être.

hachage MD5

Ensuite, vous comparez hachage ( "mot de passe") avec le hachage ini_file.password

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top