我使用AES(来自PyCrypto)来加密密码并将其存储在文件中。该文件的格式是:从Python中的文件存储和读取加密的字符串
user:username
key:<encrypted key>
这是我用于加密的方法:
BLOCK_SIZE = ..
PADDING = ..
pad = lambda s: s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) * PADDING
EncodeAES = lambda c, s: base64.b64encode(c.encrypt(pad(s)))
DecodeAES = lambda c, e: c.decrypt(base64.b64decode(e)).rstrip(PADDING)
cipher = AES.new("abcdefgh12345678")
encrypted_key = EncodeAES(cipher, 'ABC123')
现在,我该如何从文件中读取用于解密它的关键?如果我使用line.split(“:”),如果加密的密钥本身具有“:”作为一个字符,它会不会造成问题?
有没有什么办法可以在加密时避免“:”?或者有更好的方法来存储密钥?我不能使用哈希,因为我需要一些其他功能的关键。谢谢。
哦,没错。对不起,我没有意识到这一点。睡眠不足。谢谢。 – drunkenfist 2014-10-10 19:27:28