am_dot_com

FP 2022-11-08

Nov 8th, 2022 (edited)
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. # 5.py
  2. import random
  3.  
  4. MEUS_SIMB_ESP = [ "*", "~", "^", "!",
  5. "#", ",", "\"", ";",
  6. "+",
  7. ] # uma lista , uma list
  8.  
  9. def letraPequenaAleatoriaDeAaZ()->str:
  10. codigo_da_letra_a:int = ord("a")
  11. codigo_da_letra_z:int = ord("z")
  12. resultado_do_sorteio_de_codigo:int =\
  13. random.randint(
  14. codigo_da_letra_a,
  15. codigo_da_letra_z
  16. )
  17. simbolo_correspondente_ao_codigo_sorteado=\
  18. chr(resultado_do_sorteio_de_codigo)
  19.  
  20. return simbolo_correspondente_ao_codigo_sorteado
  21. # def letraPequenaAleatoriaDeAaZ
  22.  
  23. def letraGrandeAleatoriaDeAaZ():
  24. codigoAoCalhas:int = random.randint(
  25. ord("A"),
  26. ord("Z")
  27. )
  28. return chr(codigoAoCalhas)
  29. # def letraGrandeAleatoriaDeAaZ
  30.  
  31. def simboloDeDigitoDecimalAleatorio():
  32. codigo = random.randint(
  33. ord("0"),
  34. ord("9")
  35. )
  36. return chr(codigo)
  37. # def simboloDeDigitoDecimalAleatorio
  38.  
  39. def simboloEspecialAleatorio(
  40. pSimbolosEspeciaisPossiveis = MEUS_SIMB_ESP
  41. ):
  42. quantoSaoOsSimbolosEspeciaisPossiveis =\
  43. len(pSimbolosEspeciaisPossiveis)
  44.  
  45. if (quantoSaoOsSimbolosEspeciaisPossiveis>0):
  46. # cada símbolo tem um endereço, na lista,
  47. # baseado em zero (0)
  48.  
  49. enderecoValidoAoCalhas = random.randint(
  50. 0,
  51. quantoSaoOsSimbolosEspeciaisPossiveis-1
  52. )
  53.  
  54. simboloAoCalhas =\
  55. pSimbolosEspeciaisPossiveis\
  56. [enderecoValidoAoCalhas]
  57.  
  58. return simboloAoCalhas
  59. # if
  60. else:
  61. return ""
  62. # def simboloEspecialAleatorio
  63.  
  64. QUANTAS_ITERACOES =\
  65. QUANTOS_SIMBOLOS=32
  66.  
  67. def passwordAleatoria():
  68. strPassword = ""
  69. for iteracao in range(QUANTOS_SIMBOLOS):
  70. sorteioDaFerramenta = random.randint(
  71. 1,
  72. 4
  73. )
  74.  
  75. if(sorteioDaFerramenta==1):
  76. simbolo=letraPequenaAleatoriaDeAaZ()
  77. elif (sorteioDaFerramenta==2):
  78. simbolo=letraGrandeAleatoriaDeAaZ()
  79. elif(sorteioDaFerramenta==3):
  80. simbolo=simboloDeDigitoDecimalAleatorio()
  81. #elif(sorteioDaFerramenta==4)
  82. else:
  83. simbolo=simboloEspecialAleatorio()
  84. #if-elif
  85.  
  86. strPassword+=simbolo
  87. # for
  88.  
  89. return strPassword
  90. # def passwordAleatoria
  91.  
  92. def exemploDeFuncaoDinamica():
  93. listaDeFerramentas = [
  94. letraPequenaAleatoriaDeAaZ,
  95. letraGrandeAleatoriaDeAaZ,
  96. simboloDeDigitoDecimalAleatorio,
  97. simboloEspecialAleatorio,
  98. ]
  99. umaFuncaoAoCalhas = listaDeFerramentas[
  100. random.randint(0, len(listaDeFerramentas)-1)
  101. ]
  102. print (
  103. umaFuncaoAoCalhas()
  104. )
  105. # def exemploDeFuncaoDinamica
  106.  
  107. strTexto = ""
  108. for password in range(1000):
  109. strTexto += passwordAleatoria()+"\n"
  110. # for
  111.  
  112. fich = open("passwords.txt", "w")
  113. fich.write(strTexto)
  114. fich.close()
  115.  
  116. print ("FIM!")
Advertisement
Add Comment
Please, Sign In to add comment