0
コンフィギュレーションファイルに格納されている暗号化されたパスワード(ベース64 + AESエンコーディング)を読み取ろうとしています。限られたライブラリを使用する必要があります。そのため、私が見つけた多くの暗号化方法を試すことはできません。コンフィギュレーションファイルからバイトを読むpython
私が使用しているコードは、私が直面しています問題は、読みながらということである復号
def decrypt_password():
from Crypto.Cipher import AES
cipher_text=RPF.readfromConfigFile('LoginCredentials','enc_password')
obj2 = AES.new('This is a key123', AES.MODE_CFB, 'This is an IV456')
message = obj2.decrypt(cipher_text)
message = message.decode("utf-8") #gives the decrypted password
用の設定ファイルにenc_passwordよう
を暗号文を置いています
def encrypt_password(): # for encryption
from Crypto.Cipher import AES
obj = AES.new('This is a key123', AES.MODE_CFB, 'This is an IV456')
message = "password$1"
ciphertext = obj.encrypt(message) #ciphertext is the encrypted password
です設定ファイルから、暗号化されたパスワードは文字列として読み込まれますが、それはバイトでなければなりません(私は信じています)。これは私が構成ファイルから読み取ら方法です:
if moduleName == 'LoginCredentials':
import io
config.read('configuration.INI')
list_of_variables = [config.get('LoginCredentials', 'url'), config.get('LoginCredentials', 'UserName'),
config.get('LoginCredentials', 'enc_password')]
は、代わりに暗号化されたパスワードを保存するためのconfig.iniを使用するのでは、私はファイルを.encが付い使用して開始している `
どのようなエラーメッセージが表示されますか? – everyone
エラーはUnicodeDecodeErrorです: 'utf-8'コーデックは位置2のバイト0xb0をデコードできません:無効な開始バイト –
デコードする前に 'message'の値を見るためにデバッガを使います。 – everyone