加密INI文件中的值的最佳方法是什么?
使用加密/解密密钥??
答案 0 :(得分:2)
效果如何?你想保护或混淆什么?
您可以使用适用于所有平台的众多双向密钥加密算法之一...但问问自己为什么要这样做。如果你试图做一些防黑客攻击,加密ini字符串可能不会让你那么远,因为只要你解密ini,字符串就会在内存中。解密的关键将在你的程序中。孩子玩耍要破解。
如果您只想阻止人们轻松编辑设置,请不要将其放入ini中。选择用户难以编辑的二进制格式。
答案 1 :(得分:2)
出于什么目的?安全?
如果您尝试(例如)加密明文密码,您应该使用PKI的一些实现。但请记住,密钥管理会成为您的问题。只是加密这个值并不是灵丹妙药,因为ini文件最有可能出现在本地主机的文件系统上,大概就是你需要存储密钥对的地方。你只是简单地将问题抽象出一层。他们无法直接读取您的加密密码,但如果他们能找到您存储密钥对的地方,他们可以自行解密。
答案 2 :(得分: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,但您必须提示输入密码。没有完美的设置,这取决于您的需求。
答案 3 :(得分:1)
您可以将任何标准加密算法与密钥一起使用,并且可以在加密前使用一些随机填充为该值加前缀。
但是,您计划在哪里存储该密钥呢?或者,您是否要让用户输入密码并从中获取密钥?如果没有那么加密该值将毫无意义。
答案 4 :(得分:0)
你还需要解密吗?如果不是,你可以salt并哈希。
如果你确实想要解密它,那么我想你也应该指定语言。
答案 5 :(得分:0)
MD5哈希
然后将hash(“password”)与ini_file.password哈希
进行比较