Domanda

Qual è il modo migliore per crittografare un valore nel file di INI?

Con la chiave di crittografia / decrittografia ??

È stato utile?

Soluzione

Per quale scopo? Sicurezza?

Se si sta tentando di (ad esempio) crittografare una password in chiaro, probabilmente si dovrebbe usare un po 'di implementazione di PKI. Ricordate, però, che la gestione quindi chiave diventa il vostro problema. Basta cifrare il valore non è una panacea perché il file ini è più probabile sul file system dell'host locale, presumibilmente nello stesso luogo si dovrà memorizzare la coppia di chiavi. Hai semplicemente astratte il problema verso il basso uno strato. Essi non saranno in grado di leggere direttamente la password crittografata, ma se riescono a trovare il posto di memorizzare la coppia di chiavi che possono decifrare se stessi.

Altri suggerimenti

Per quale effetto? Cosa stai cercando di proteggere o nascondere?

Si potrebbe utilizzare uno dei tanti algoritmi di cifratura a chiave bidirezionale disponibile per tutte le piattaforme ... Ma chiedetevi perché si sta facendo in primo luogo. Se stai cercando di fare qualcosa di hack-proof, la crittografia stringhe ini probabilmente non sta per arrivare così lontano, perché non appena si decifrare i ini, la stringa è in memoria. E la chiave per decifrare sarà nel vostro programma. Childsplay incidere fuori.

Se si desidera solo per impedire alla gente di modifica di un ambiente facilmente, non metterlo in un ini. Scegliere un formato binario che l'utente avrà un momento difficile la modifica.

Per gli script personali in cui ho una password di posta elettronica, io uso TinyEncryption.

Io metterò la chiave di accesso nel codice stesso. Questo impedisce uno Snooper casuale da solo la navigazione attraverso e raccogliendo una password di e-mail.

Il codice è abbastanza semplice anche. Qui è in 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

Per ulteriori maggiore sicurezza, ho usare PGP, ma poi per richiedere una chiave di accesso. Non c'è alcuna impostazione che è perfetto, dipende da cosa i vostri bisogni sono.

È possibile utilizzare qualsiasi algoritmo di crittografia standard con una chiave, e forse anteporre il valore con un po 'di imbottitura a caso prima della cifratura.

Tuttavia, se si prevede di archiviare quella chiave, allora? O hai intenzione di ottenere l'utente di inserire una password e derivare una chiave da che? Se poi non sarebbe abbastanza inutile per crittografare il valore.

Avete bisogno di decifrare anche tu? Se non è possibile solo sale e hash.

Se si vuole decifrare, poi Id dire è necessario specificare la lingua e forse.

MD5 hash

Poi si confronta hash ( "password") con l'hash ini_file.password

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top