3

加密 INI 文件中的值的最佳方法是什么?

使用加密/解密密钥??

4

6 回答 6

2

起到什么作用?你想保护或混淆什么?

您可以使用适用于所有平台的众多双向密钥加密算法中的一种……但首先要问自己为什么要这样做。如果你试图做一些黑客攻击,加密 ini 字符串可能不会让你走那么远,因为一旦你解密 ini,字符串就在内存中。解密的密钥将在您的程序中。Childsplay 破解。

如果您只是想阻止人们轻松编辑设置,请不要将其放入 ini 中。选择用户将难以编辑的二进制格式。

于 2008-12-22T14:43:05.450 回答
2

出于什么目的?安全?

如果您尝试(例如)加密明文密码,您可能应该使用 PKI 的一些实现。但请记住,密钥管理将成为您的问题。仅仅加密值并不是万能的,因为 ini 文件很可能在本地主机的文件系统上,大概是您必须存储密钥对的同一个地方。您只是将问题抽象到了一层。他们将无法直接读取您的加密密码,但如果他们能找到您存储密钥对的位置,他们就可以自行解密。

于 2008-12-22T14:43:22.627 回答
2

对于我有电子邮件密码的个人脚本,我使用 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,但您必须提示输入密码。没有完美的设置,这取决于您的需求。

于 2008-12-22T16:00:17.370 回答
1

您可以使用任何带有密钥的标准加密算法,并可能在加密之前为该值添加一些随机填充。

但是,您打算在哪里存储该密钥?还是您要让用户输入密码并从中派生密钥?如果不是,那么加密该值将毫无意义。

于 2008-12-22T14:40:03.880 回答
0

你也需要解密吗?如果不是,你可以只加盐和哈希。

如果您确实想解密它,那么我说您也许也应该指定语言。

于 2008-12-22T14:38:28.423 回答
0

MD5 哈希

然后将 hash("password") 与 ini_file.password 哈希值进行比较

于 2008-12-22T15:15:29.380 回答