37 lines
1.0 KiB
Python
Executable File
37 lines
1.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
Created on Wed Feb 3 10:55:48 2021
|
|
|
|
@author: pjoulaud
|
|
"""
|
|
|
|
def codage_binaire(message : str, code : str) -> str:
|
|
"""
|
|
Fonction qui code un message à l' aide d' une clé. Le message codé resulte
|
|
d' un OU exclusif bit à bit
|
|
Argument :
|
|
- message : Message à coder de type str
|
|
- code : Clé de codage de type str
|
|
Retourne :
|
|
- res : Message codé bit à bit
|
|
>>> codage_binaire(codage_binaire("Hello World!", "toto"), "toto")
|
|
'Hello World!'
|
|
"""
|
|
i = 0
|
|
res = ''
|
|
for car in message :
|
|
ord_car = ord(car)^ord(code[i%len(code)])
|
|
#print(f"car : {ord(car):08b}\ncode : {ord(code[i%len(code)]):08b}\n => {ord_car:08b} \n")
|
|
res += chr(ord_car)
|
|
i += 1
|
|
return res
|
|
|
|
#CORPS DE PROGRAMME
|
|
if __name__=='__main__':
|
|
import doctest
|
|
doctest.testmod()
|
|
#message_code = codage_binaire('Hello World', 'toto')
|
|
#input("Tapez Entree pour continuer")
|
|
#message_decode = codage_binaire(message_code, 'toto')
|