我使用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