Pregunta

¿Cuál es la mejor manera de cifrar un valor en el archivo INI?

El uso de clave de cifrado / descifrado ??

¿Fue útil?

Solución

¿Con qué propósito? ¿Seguridad?

Si usted está tratando de (por ejemplo) cifrar una contraseña en texto plano que es mejor usar alguna aplicación de PKI. Recuerde, sin embargo, que la gestión luego la tecla se convierte en su problema. Sólo cifrar el valor no es la panacea porque el archivo ini es más probable en el sistema de archivos del host local, presumiblemente el mismo lugar, se tiene que almacenar su par de claves. Simplemente ha abstraído el problema por una capa. No van a ser capaces de leer su contraseña encriptada directamente, pero si se puede encontrar el lugar de guardar el par de claves que pueden descifrar por sí mismos.

Otros consejos

Para qué efecto? ¿Qué está tratando de proteger o confundir?

Se puede usar uno de los muchos algoritmos de cifrado de clave de dos vías disponibles para todas las plataformas ... Pero hay que preguntarse por qué lo estás haciendo en primer lugar. Si usted está tratando de hacer algo a prueba de hackers, la encriptación de cadenas ini probablemente no se va a conseguir que tan lejos porque tan pronto como se descifra el INI, la cadena está en la memoria. Y la clave para descifrar estará en su programa. Un juego de niños de hackear a cabo.

Si lo que desea es evitar que la gente editar un ajuste fácil, no lo ponga en una ini. Elija un formato binario que el usuario tendrá una edición en tiempo duro.

Para los scripts personales en las que tengo una contraseña de correo electrónico, uso TinyEncryption.

Voy a poner la clave de acceso en el propio código. Esto impide que un espía ocasional de sólo navegar a través y recoger una contraseña de correo electrónico.

El código es bastante simple también. Aquí 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

Para una seguridad más reforzada, uso de PGP, pero luego tiene que solicitar una clave de acceso. No hay ninguna configuración que es perfecto, que depende de cuáles son sus necesidades.

Se puede utilizar cualquier algoritmo estándar de cifrado con una clave, y quizás como prefijo el valor con un poco de relleno al azar antes de cifrar.

Sin embargo, ¿dónde va a guardar esa clave, entonces? ¿O vas a conseguir que el usuario introduzca una contraseña y una clave derivar de eso? Si no es así, entonces sería bastante inútil para cifrar el valor.

¿Es necesario para descifrarlo también? Si no se puede simplemente sal y hash.

Si desea descifrar, entonces yo diría que debe especificar el idioma, así tal vez.

hash MD5

A continuación, se compara almohadilla ( "contraseña") con el hash ini_file.password

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top