1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| encoded_passphrase = passphrase.encode("utf8")
cipher = AES.new(encoded_passphrase, AES.MODE_ECB)
# with open(filename, "w", encoding="utf8") as config_file:
# Read Data
config = configparser.ConfigParser()
config.read(filename, 'ascii')
# Reading Data
keys = ["server", "port", "user", "password"]
for key in keys:
value = config.get("database", key)
if key == "server":
currentHost = value
if key == "port":
currentPort = value
if key == "user":
enc = base64.b64decode(value)
currentUserBytes = unpad(cipher.decrypt(enc),16)
if key == "password":
enc = base64.b64decode(value)
currentPasswordBytes = unpad(cipher.decrypt(enc),16)
currentUser = currentUserBytes.decode()
currentPassword = currentPasswordBytes.decode();
#ASK User for modify data (ENTER keep current value)
sBuffer = input("Hostname ("+currentHost+"): ")
if sBuffer == "":
databaseHost = currentHost
else:
databaseHost = sBuffer
sBuffer = input("Port ("+currentPort+"): ")
if sBuffer == "":
databasePort = currentPort
else:
databasePort = sBuffer
sBuffer = input("Utilisateur ("+currentUser+"): ")
if sBuffer == "":
databaseUser = currentUser
else:
databaseUser = sBuffer
sBuffer = input("Mot de passe : ")
if sBuffer == "" :
databasePassword = currentPassword
else:
databasePassword = sBuffer
config.set("database", "server", databaseHost)
config.set("database", "port", databasePort)
encryptedUser = base64.standard_b64encode(cipher.encrypt(pad(databaseUser.encode(),16)))
encryptedPassword = base64.standard_b64encode(cipher.encrypt(pad(databasePassword.encode(),16)))
# print(encryptedUser)
config.set("database", "user",encryptedUser.decode())
config.set("database", "password", encryptedPassword.decode())
with open(filename, "w") as config_file:
config.write(config_file) |
Partager