ajout de tous les cours et TP préparés cet été
This commit is contained in:
36
Sécurité/exemples/codage_binaire.py
Executable file
36
Sécurité/exemples/codage_binaire.py
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/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')
|
||||
Reference in New Issue
Block a user