Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Définir fonction de hashage des données
- import random
- c_key = random.randrange(10, 20)
- input = "azerty"
- def hashage(str, key):
- # Dictionnaire permettant de modifier les valeurs de l'argument
- valeur = str
- dico1 = {"a": "xxEWA3Br5zpzy9tn8w6Y",
- "b": "bMO5QqfVJ3SdFT7Dztwi",
- "c": "7caxdSfdQ42Q3V13Ty9p",
- "d": "Cqb6vcujreatcERAuSfk",
- "e": "p2PPDy1XqMf73QEAyRyP",
- "f": "j9nAT7lSvQ7Gzx677QMG",
- "g": "CaaCMYUC76PKqZfyl9n4",
- "h": "U6dS5bx74PcMJe7PpQMJ",
- "i": "LrgVU6d20hvJGrL2ptIa",
- "j": "XFNBQIg7jj1xVWV408ix",
- "k": "KC8kaxIdmyaX9ZK2saBc",
- "l": "htsyzpFVEEz6hHbY0ngD",
- "m": "0l1zFfKRF6dzewf7EFvZ",
- "n": "ygQ12BOozSSDEQpY58m7",
- "o": "BjDYqbm2M5UFyGg8qPZP",
- "p": "Ue8w3zSrPizaaMJqzE3b",
- "q": "iQxxmAPCy4fB0hJgSTEf",
- "r": "b991dlkj4AscPqC9Enu6",
- "s": "iAh4OOQVj27QAEXQEMHu",
- "t": "cEoZW5lQSyNzO8sO4T16",
- "u": "3AnuTmLnux2MY1De8SrG",
- "v": "1HTe1k0I2zyGDjG8vmek",
- "w": "ARFPFbvuvrAcNS1pe4xh",
- "x": "Ukt5P1u1DNNVlgRDQ371",
- "y": "CNybi8NlNOL2lNA5ZbsY",
- "z": "D8YlGYFOCE9WFum4N0QN",
- "A": "Qzmh9Vo1opibCmJvHb0Ac9v44h6wMh",
- "B": "9RayYSbm1uMGxuLQ6KJrTvqRl9NWTS",
- "C": "IA7vH02PCAxWbkL7SX942IGAxWQ38y",
- "D": "GKhFMZxq6WfOTfmbnUJFwdwvSgzsKY",
- "E": "5LE4KaSBSrwIO8WZNfWMfoGSCJUnUk",
- "F": "nZTR3f8c3odXuL2FSYB1xGj5T9asVq",
- "G": "h0khqkrX63a0uxfErbsJ6uejhkNiso",
- "H": "1Ll1W1FcZJF9W2lbfkJ2auyOco4XkI",
- "I": "HrupsT1rhuWuVnIQ8Dd30jrDOb6rlté",
- "J": "X0OtIQPoBC8qwfz6kBUZi405nYLDgZ",
- "K": "iMf57wyiPaMchwXFWZ0USzoSn4md7e",
- "L": "CF5b5SqGsQRIWzj7ptX7ke7rlvWj7v",
- "M": "bcRrTbV2Xip8flfmA0r84abvzQw7eO",
- "N": "dPhUx20GZObzzRUdnNZn19ICHncebh",
- "O": "PHkzyMXGKkD6rY5eUX8G0GfTbJI1rk",
- "P": "3ASSkqYEtksUvk2Stm0viAwXWgTTrR",
- "Q": "Dkzk54yJeb2AW1YWNJACfst9JGatAV",
- "R": "E0B3qOVsHOzMuncxk706hqs50jDTSZ",
- "S": "T9FdR3SFCX2srKCNLu3DygW0EuDL6K",
- "T": "VigMrRuhkZRZpBfaU4xgD6fQbbsojk",
- "U": "74hM6E9mZYGidCLK3gykw75nawxZZf",
- "V": "QODv3mZzyitZ5JRftr2Yu2xhIu7Sxd",
- "W": "WET5mhZNJ3L3aLdRVQPrPHCxA7VgwK",
- "X": "tsmN8kBpNPGIAmurHI20Kdccq1qUoa",
- "Y": "QhHCaijdLJeS2SlxbCdjyKNu82sivC",
- "Z": "Rwg8m53BnzZRektHMj8askdprsknDs",
- "1": "g0yhXYkFUyclGysB4EnSw9HDz7",
- "2": "ReuyZ6VXWLuJliwBgSr34OkV8o",
- "3": "bjIhSG6a7dil3JRu0Sqr6LYmjs",
- "4": "3fB7R57BLQRpYmv6jO3q2chceN",
- "5": "JRCprFEBktjj87oSIisd0jcWws",
- "6": "qyDUpuobvjTkRfeh3mpRX0Mg08",
- "7": "YA4ciFHknuZlmSUAvlJAEBzotV",
- "8": "Y55dpQ2RnZLhJ4ElY4POc99XnL",
- "9": "weg8yfQ3vnyfKbnSS9t0D86CnR",
- "0": "E135vjmhfYoYgfgx3H3TeJBuO2"
- }
- # Conversion de l'argument en liste
- valeur = list(valeur)
- out = []
- # Recherche et modification des éléments de la liste de l'argument
- for element in valeur:
- value = dico1.get(element, "ce caractere n'est pas disponible !!")
- if value != "ce caractere n'est pas disponible !!":
- value_out = []
- for k in range(key):
- value_out.append(value[k])
- value_str = "".join(value_out)
- out.append(value_str)
- # Conversion de la liste d'argument en chaine de charactere
- valeur = "".join(out)
- # Retourner le resultat de la valeur
- return valeur
- # Définir fonction de dé-hashage des données
- def de_hashage(str, key):
- valeur_2 = str
- key = int(key)
- # Création d'un dictionnaire inversée
- dico2 = {"xxEWA3Br5zpzy9tn8w6Y": "a",
- "bMO5QqfVJ3SdFT7Dztwi": "b",
- "7caxdSfdQ42Q3V13Ty9p": "c",
- "Cqb6vcujreatcERAuSfk": "d",
- "p2PPDy1XqMf73QEAyRyP": "e",
- "j9nAT7lSvQ7Gzx677QMG": "f",
- "CaaCMYUC76PKqZfyl9n4": "g",
- "U6dS5bx74PcMJe7PpQMJ": "h",
- "LrgVU6d20hvJGrL2ptIa": "i",
- "XFNBQIg7jj1xVWV408ix": "j",
- "KC8kaxIdmyaX9ZK2saBc": "k",
- "htsyzpFVEEz6hHbY0ngD": "l",
- "0l1zFfKRF6dzewf7EFvZ": "m",
- "ygQ12BOozSSDEQpY58m7": "n",
- "BjDYqbm2M5UFyGg8qPZP": "o",
- "Ue8w3zSrPizaaMJqzE3b": "p",
- "iQxxmAPCy4fB0hJgSTEf": "q",
- "b991dlkj4AscPqC9Enu6": "r",
- "iAh4OOQVj27QAEXQEMHu": "s",
- "cEoZW5lQSyNzO8sO4T16": "t",
- "3AnuTmLnux2MY1De8SrG": "u",
- "1HTe1k0I2zyGDjG8vmek": "v",
- "ARFPFbvuvrAcNS1pe4xh": "w",
- "Ukt5P1u1DNNVlgRDQ371": "x",
- "CNybi8NlNOL2lNA5ZbsY": "y",
- "D8YlGYFOCE9WFum4N0QN": "z",
- "Qzmh9Vo1opibCmJvHb0Ac9v44h6wMh": "A",
- "9RayYSbm1uMGxuLQ6KJrTvqRl9NWTS": "B",
- "IA7vH02PCAxWbkL7SX942IGAxWQ38y": "C",
- "GKhFMZxq6WfOTfmbnUJFwdwvSgzsKY": "D",
- "5LE4KaSBSrwIO8WZNfWMfoGSCJUnUk": "E",
- "nZTR3f8c3odXuL2FSYB1xGj5T9asVq": "F",
- "h0khqkrX63a0uxfErbsJ6uejhkNiso": "G",
- "1Ll1W1FcZJF9W2lbfkJ2auyOco4XkI": "H",
- "HrupsT1rhuWuVnIQ8Dd30jrDOb6rlté": "I",
- "X0OtIQPoBC8qwfz6kBUZi405nYLDgZ": "J",
- "iMf57wyiPaMchwXFWZ0USzoSn4md7e": "K",
- "CF5b5SqGsQRIWzj7ptX7ke7rlvWj7v": "L",
- "bcRrTbV2Xip8flfmA0r84abvzQw7eO": "M",
- "dPhUx20GZObzzRUdnNZn19ICHncebh": "N",
- "PHkzyMXGKkD6rY5eUX8G0GfTbJI1rk": "O",
- "3ASSkqYEtksUvk2Stm0viAwXWgTTrR": "P",
- "Dkzk54yJeb2AW1YWNJACfst9JGatAV": "Q",
- "E0B3qOVsHOzMuncxk706hqs50jDTSZ": "R",
- "T9FdR3SFCX2srKCNLu3DygW0EuDL6K": "S",
- "VigMrRuhkZRZpBfaU4xgD6fQbbsojk": "T",
- "74hM6E9mZYGidCLK3gykw75nawxZZf": "U",
- "QODv3mZzyitZ5JRftr2Yu2xhIu7Sxd": "V",
- "WET5mhZNJ3L3aLdRVQPrPHCxA7VgwK": "W",
- "tsmN8kBpNPGIAmurHI20Kdccq1qUoa": "X",
- "QhHCaijdLJeS2SlxbCdjyKNu82sivC": "Y",
- "Rwg8m53BnzZRektHMj8askdprsknDs": "Z",
- "g0yhXYkFUyclGysB4EnSw9HDz7": "1",
- "ReuyZ6VXWLuJliwBgSr34OkV8o": "2",
- "bjIhSG6a7dil3JRu0Sqr6LYmjs": "3",
- "3fB7R57BLQRpYmv6jO3q2chceN": "4",
- "JRCprFEBktjj87oSIisd0jcWws": "5",
- "qyDUpuobvjTkRfeh3mpRX0Mg08": "6",
- "YA4ciFHknuZlmSUAvlJAEBzotV": "7",
- "Y55dpQ2RnZLhJ4ElY4POc99XnL": "8",
- "weg8yfQ3vnyfKbnSS9t0D86CnR": "9",
- "E135vjmhfYoYgfgx3H3TeJBuO2": "0"
- }
- # Splitage des données
- #valeur_2 = valeur_2.split(clé_2)
- out_2 = []
- value_2 = []
- out_3 = []
- c_element = []
- a = 0
- # Crée la liste contenant les données remise en place
- # Récupere les elements de valeur_2 et ajouter a une liste
- for element_2 in valeur_2:
- out_2.append(element_2)
- # Découper le cryptage en fonction de la clé
- if len(out_2) == key:
- out_join = "".join(out_2)
- # Ajouter le cryptage par lettre à une liste commune
- value_2.append(out_join)
- print(value_2)
- # suprimer les elements des anciennes liste pour eviter les doublons
- out_join = []
- out_2 = []
- if out_join == [] and out_2 == []:
- # Mettre les elements de value_2 dans c_element
- for element_4 in value_2:
- c_element.append(element_4)
- print(c_element)
- # Pour les clé du dico 2
- for keys in dico2:
- # ajouter la cle a keys_re et modifier la longueur
- keys_liste = list(keys)
- keys_out = []
- for i in range(key):
- keys_out.append(keys_liste[i])
- keys_re = "".join(keys_out)
- # si c_element est egal à keys_re alors ajouter la valeur de la vrai clé à out_3
- if c_element != []:
- if c_element[0] == keys_re:
- c_dico = dico2.get(keys, 'le programme à planté')
- out_3.append(c_dico)
- c_element.pop(-1)
- else:
- pass
- # Si les listes ne sont pas vide il faut afficher un message d'erreur
- else:
- print("les liste ne sont pas vide")
- else:
- pass
- # Joindre les élément de out_3 dans valeur 2
- valeur_2 = "".join(out_3)
- print(valeur_2)
- # Retourner la valeur_2
- return valeur_2
- if __name__ == '__main__':
- mdp = hashage(input, c_key)
- print(mdp)
- print(c_key)
- recup = de_hashage(mdp, c_key)
- print(recup)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement