Advertisement
nicoviale_

Untitled

Mar 17th, 2024
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.35 KB | None | 0 0
  1. from hashlib import md5
  2. from itertools import *
  3. import itertools
  4.  
  5. #Oggetto: determinazione del voto di CyberChallenge per lo studente Davide Maiorca, anno accademico 2021 2022.
  6. #Il sottoscritto Giorgio Giacinto, VISTO lo scarso impegno nello studio di CyberChallenge;
  7. #VISTO il numero di persone che ha risolto la challenge 3;
  8. #VISTO il numero di assenze dello studente;
  9. #DETERMINA che, nel corrente anno accademico, lo studente deve avere il voto 7/30.
  10.  
  11. synonims = {
  12.     "Oggetto:": ["Oggetto:", "Titolo:"],
  13.     "determinazione": ["determinazione", "decisione"],
  14.     "voto": ["voto","esito"],
  15.     "anno accademico": ["anno accademico", "anno di corso"],
  16.     "sottoscritto": ["sottoscritto", "firmatario"],
  17.     "scarso": ["scarso", "basso"],
  18.     "CyberChallenge": ["CyberChallenge", "CyberSecurity"],
  19.     "VISTO": ["Visto", "Considerato"],
  20.     "numero": ["numero","quantitativo"],
  21.     "persone": ["persone","studenti"],
  22.     "risolto": ["risolto","completato"],
  23.     "la challenge": ["la challenge","l'esercizio"],
  24.     "assenze": ["assenze", "mancate presenze"],
  25.     "dello studente": ["dello studente","del candidato"],
  26.     "DETERMINA": ["DETERMINA", "Determina"],
  27.     "nel corrente": ["nel corrente","nell'attuale"],
  28.     "anno accademico": ["anno accademico","anno di corso"],
  29.     "voto": ["voto", "giudizio"],
  30.     "30/30.": ["18/30.", "19/30.", "20/30.", "21/30.", "22/30.", "23/30.", "24/30.", "25/30.", "26/30.",
  31.               "27/30.", "28/30.", "29/30.", "30/30.",
  32.              "Diciotto trentesimi.", "Diciannove trentesimi.", "Venti trentesimi.", "Ventuno trentesimi.",
  33.                "Ventidue trentesimi.", "Ventitre trentesimi.", "Ventiquattro trentesimi.",
  34.                "Venticinque trentesimi.", "Ventinove trentesimi.", "Venticinque trentesimi.",
  35.                  "Ventinove trentesimi.", "Trenta trentesimi."
  36.                  "Diciotto trentesimi", "Diciannove trentesimi", "Venti trentesimi", "Ventuno trentesimi",
  37.                  "Ventidue trentesimi", "Ventitre trentesimi", "Ventiquattro trentesimi",
  38.                  "Venticinque trentesimi", "Ventinove trentesimi", "Venticinque trentesimi",
  39.                  "Ventinove trentesimi", "Trenta trentesimi"
  40.                  ]
  41. }
  42.  
  43. x = open("Maiorca.txt", "r").read().encode()
  44. texthash = md5(x).hexdigest()[:6]#hash di 3 byte
  45.  
  46. print("Hash del file: ", texthash)  
  47.  
  48. # Split the text into words
  49. new_base="Oggetto: determinazione del voto di CyberChallenge per lo studente Davide Maiorca, anno accademico 2021 2022. Il sottoscritto Giorgio Giacinto, VISTO lo scarso impegno nello studio di CyberChallenge; VISTO il numero di persone che ha risolto la challenge 3; VISTO il numero di assenze dello studente; DETERMINA che, nel corrente anno accademico, lo studente deve avere il voto 30/30."
  50. words = new_base.split(" ")
  51.  
  52. #print(words)
  53.  
  54. import itertools
  55.  
  56. combinations = list(itertools.product(*(synonims.get(word, [word]) for word in words)))
  57.  
  58.  
  59. modified_texts = [" ".join(combination) for combination in combinations]
  60.  
  61. print(len(modified_texts))
  62. input("Press Enter to continue...")
  63.  
  64.  
  65. i=0
  66. for modified_text in modified_texts:
  67.     i+=1
  68.     print(i)
  69.     #print(modified_text)
  70.     #print(md5(modified_text.encode()).hexdigest()[:6])
  71.     #input()
  72.     if(md5(modified_text.encode()).hexdigest()[:6] == texthash):
  73.         print("Trovato")
  74.         print(modified_text)
  75.         break
  76.  
  77. print("Fine")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement