Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 如何加密ini文件中的值_Encryption_File_Ini - Fatal编程技术网

Encryption 如何加密ini文件中的值

Encryption 如何加密ini文件中的值,encryption,file,ini,Encryption,File,Ini,加密INI文件中的值的最佳方法是什么 使用加密/解密密钥???您也需要解密吗?如果不是的话,你可以把它弄得乱七八糟 如果您确实想解密它,那么我建议您也应该指定语言。您可以使用任何标准的加密算法和密钥,并可能在加密前使用一些随机填充作为值的前缀 但是,您计划将该密钥存储在何处?还是让用户输入密码并从中派生密钥?如果不是这样,那么加密该值就毫无意义了 有什么影响?你想保护或混淆什么 您可以使用适用于所有平台的多种双向密钥加密算法中的一种。。。但是问问你自己,你为什么要这么做。如果您试图使某些东西不受

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


使用加密/解密密钥???

您也需要解密吗?如果不是的话,你可以把它弄得乱七八糟


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

您可以使用任何标准的加密算法和密钥,并可能在加密前使用一些随机填充作为值的前缀


但是,您计划将该密钥存储在何处?还是让用户输入密码并从中派生密钥?如果不是这样,那么加密该值就毫无意义了

有什么影响?你想保护或混淆什么

您可以使用适用于所有平台的多种双向密钥加密算法中的一种。。。但是问问你自己,你为什么要这么做。如果您试图使某些东西不受黑客攻击,加密ini字符串可能不会让您走那么远,因为一旦您解密ini,字符串就在内存中。解密的密钥将在您的程序中。孩子们喜欢出去玩


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

用于什么目的?保安

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

MD5 hash


然后将哈希(“密码”)与ini_文件进行比较。对于我有电子邮件密码的个人脚本,我使用

我将把密钥放入代码本身。这可以防止一个偶然的窥探者只是浏览并获取一个电子邮件密码

代码也很简单。这里是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,但您必须提示输入密钥。没有完美的设置,这取决于您的需求。

如果您身处Windows世界,可能值得注意的是,GetProfileString和WriteProfileString(用于与classic.ini文件交互的API)实际上已经被弃用了大约十年。只有当你在做16位兼容性的时候才使用它们。哈,经过18个月的学习,我想说的是:MD5哈希函数的安全性受到严重威胁。