将变量写入文本文件并加密?

时间:2015-07-01 12:24:32

标签: python security encryption save python-3.4

我知道如何将用户输入保存到文本文件,但我如何加密它?这是我将用户输入保存到文本文件的方法。我试过f.encrypt("Passwords_log.txt"但没有结果

import time
password1 = input("Please type a password: ")
print("Your password has passed the verification!")
time.sleep(1)
print("Saving and encrypting password...")
time.sleep(2)
f=open("Passwords_log.txt",'a')
f.write(password)
f.write('\n')
f.close()
print("Done!")

4 个答案:

答案 0 :(得分:4)

有一些Python软件包值得检查一下加密密码。

Cryptography

PyCrypto

cryptography的一个简单示例如下:

from cryptography.fernet import Fernet
key = Fernet.generate_key()
cipher_suite = Fernet(key)
cipher_text = cipher_suite.encrypt(b"A really secret message. Not for prying eyes.")
plain_text = cipher_suite.decrypt(cipher_text)

答案 1 :(得分:0)

我想你想得到一些密码的哈希值,但是文件对象与它无关。您可以尝试使用base64编码(例如here)或此类任何其他算法。

您的代码:

import time
import base64
password1 = raw_input("Please type a password: ")
print("Your password has passed the verification!")
time.sleep(1)
print("Saving and encrypting password...")
time.sleep(2)
f=open("Passwords_log.txt",'a')
password = base64.b64encode(password)
f.write(password)
f.write('\n')
f.close()
print("Done!")

答案 2 :(得分:0)

结帐password hashing

然后我建议您使用https://pythonhosted.org/passlib/或pycrypto;取决于你选择的算法。

这只是存储加密密码。然后加密数据看看https://pypi.python.org/pypi/pycrypto/2.6.1

答案 3 :(得分:0)

你说过,你试过base64但它没有用。以下是如何使其工作:

import base64
import time
password1 = input("Please type a password: ")
print("Your password has passed the verification!")
time.sleep(1)
print("Saving and encrypting password...")
time.sleep(2)
f=open("Passwords_log.txt",'a')
cr = base64.encodestring(password1)
f.write(cr)
f.write('\n')
f.close()
print("Done!")

这不是真正的加密,我不会推荐它用于密码,但是因为你在评论中说你试图使用base64并且它没有用,我认为我应该向您展示如何在代码中使用base64