Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.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
Python 加密——怎么做_Python_Encryption_Tkinter - Fatal编程技术网

Python 加密——怎么做

Python 加密——怎么做,python,encryption,tkinter,Python,Encryption,Tkinter,问题 我正在用python编写一个应用程序。它负责处理联系人和其他有关个人的信息。每当用户希望执行主要操作时,我都会提示用户输入主密钥。我把一切都弄明白了。整个应用程序已准备就绪,运行良好。但是我将主密钥存储在一个文件中。此文件以纯文本形式易于阅读。我的朋友曾经尝试过使用这个软件,他们说,如果我不应用一个强大的加密算法,这个软件是没有用的,因为用户只会信任这个应用程序,因为它的细节很容易被窃取 目标 以只能由我的程序解密(或读取)的形式存储主密钥 其他事项 1. Python 2.7 2. Tk

问题

我正在用python编写一个应用程序。它负责处理联系人和其他有关个人的信息。每当用户希望执行主要操作时,我都会提示用户输入主密钥。我把一切都弄明白了。整个应用程序已准备就绪,运行良好。但是我将主密钥存储在一个文件中。此文件以纯文本形式易于阅读。我的朋友曾经尝试过使用这个软件,他们说,如果我不应用一个强大的加密算法,这个软件是没有用的,因为用户只会信任这个应用程序,因为它的细节很容易被窃取

目标

以只能由我的程序解密(或读取)的形式存储主密钥

其他事项

1. Python 2.7 2. Tkinter 8.5 3. Linux Mint 14
  • 用户可以选择更改主密钥
  • 主密钥将仅被读取和解密一次。在节目开始时。它将存储在一个变量中,然后从此变量中使用
  • 它是一个GUI应用程序。我正在使用python Tkinter 详细信息

    1. Python 2.7 2. Tkinter 8.5 3. Linux Mint 14 请注意,数据是使用另一种加密存储的,这种加密不是不可破解的,但足以存储此类信息

    我没有使用任何数据库来存储信息

    唯一要加密的数据是主密钥。它是一个长度为7到80个字符的字母数字字符串

    规格

    1. Python 2.7 2. Tkinter 8.5 3. Linux Mint 14 1.Python 2.7 2.Tkinter 8.5 3.Linux Mint 14
  • 用户选择主密钥,然后对其进行加密并将加密保存到文件中
  • 当用户想要执行主要操作时,您会提示输入他们的主密钥,并对他们输入的内容进行加密
  • 将#2与#1进行比较,如果它们匹配,则让用户继续。否则,您会告诉用户迷路
  • 以可解密的形式存储主密钥

    没有。如果你能破译它,黑客就能破译它。你想要的东西是一台超级计算机连续工作100年无法破译的。根据数据的敏感程度,您可能只需要SHA-1/SHA-2/SHA-3即可。请看这里:

    请注意,如果有人窃取了包含加密的文件副本,并且在应用程序提示他们输入主密钥时输入了其中一个加密,则应用程序将加密加密,并且结果与文件中的任何加密都不匹配

  • 用户选择主密钥,然后对其进行加密并将加密保存到文件中
  • 当用户想要执行主要操作时,您会提示输入他们的主密钥,并对他们输入的内容进行加密
  • 将#2与#1进行比较,如果它们匹配,则让用户继续。否则,您会告诉用户迷路
  • 以可解密的形式存储主密钥

    没有。如果你能破译它,黑客就能破译它。你想要的东西是一台超级计算机连续工作100年无法破译的。根据数据的敏感程度,您可能只需要SHA-1/SHA-2/SHA-3即可。请看这里:


    请注意,如果有人窃取了包含加密的文件副本,并且在应用程序提示他们输入主密钥时输入了其中一个加密,则应用程序将加密加密,并且加密结果与文件中的任何加密都不匹配。

    因为您想通过密码保护敏感数据,您最好使用“现成”的对称加密算法,如。这样,您的数据将被强加密(假设您获得了一些正确的参数),您甚至不需要将密码存储在磁盘上的某个地方

    是一个广泛使用的密码学工具包,并提供AES。理解入门所需的细节可能有点麻烦,特别是因为我能找到的关于“如何使用PyCrypto进行AES?”的所有示例都有点不同(例如,算法初始化、填充)


    对于初学者,我们将首先为您提供一些解释和代码片段。(注意:此处提供的代码将解密(=实际)数据写入文件,这可能是一个严重的风险。了解代码的工作原理后,可以修改代码,以便将解密数据存储为字符串,并使用已有的应用程序代码从中读取内容。)

    当您想通过密码保护敏感数据时,最好使用“现成”的对称加密算法,如。这样,您的数据将被强加密(假设您获得了一些正确的参数),您甚至不需要将密码存储在磁盘上的某个地方

    是一个广泛使用的密码学工具包,并提供AES。理解入门所需的细节可能有点麻烦,特别是因为我能找到的关于“如何使用PyCrypto进行AES?”的所有示例都有点不同(例如,算法初始化、填充)


    对于初学者,我们将首先为您提供一些解释和代码片段。(注意:此处提供的代码将解密(=实际)数据写入文件,这可能是一个严重的风险。了解代码的工作原理后,您可以修改代码,以将解密数据存储为字符串,并使用已有的应用程序代码从中读取内容。)

    如您在评论中提出的问题所示。这是一个与您当前正在构建的模式稍有不同的模式

    首先,如果你对某事进行加密,请使用公认的和众所周知的工具。现在的经典是AES。这是原始密码,对16字节块执行加密。它只需要一个长度为128、192或256位的密钥。
    实际上,底层密码支持的长度比这还要长,但该算法已经在这3种长度上进行了大量测试,因此您可能会坚持使用它们

    现在,您必须确定h