{"id":133,"date":"2020-06-10T20:48:11","date_gmt":"2020-06-10T18:48:11","guid":{"rendered":"https:\/\/www.pythonparatodo.com\/?p=133"},"modified":"2020-06-10T21:18:36","modified_gmt":"2020-06-10T19:18:36","slug":"passwords-con-random","status":"publish","type":"post","link":"https:\/\/www.pythonparatodo.com\/?p=133","title":{"rendered":"Passwords  con random"},"content":{"rendered":"\n<p>Una forma f\u00e1cil de obtener passwords puede ser usar el m\u00e9todo choice del m\u00f3dulo random.<\/p>\n\n\n\n<p>Para ello se puede usar el m\u00f3dulo <strong>string<\/strong> para poder obtener una cadena de texto que incluya todas las letras may\u00fasculas y min\u00fasculas y los s\u00edmbolos. Esta cadena se ha de convertir en una lista usando la funci\u00f3n <strong>list()<\/strong>.<\/p>\n\n\n\n<p>El siguiente c\u00f3digo almacena en la variable <strong>caracteres<\/strong> esta lista.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import string\ncaracteres = list(string.ascii_letters+string.punctuation)<\/code><\/pre>\n\n\n\n<p>El siguiente paso es obtener una cantidad determinada de caracteres de forma aleatoria para formar el password. Esto se puede conseguir usando el m\u00e9todo choice de random el cual selecciona un elemento aleatorio de la lista que se le pase como argumento.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import random\npassword = ''\npassword = password + random.choice(caracteres)<\/code><\/pre>\n\n\n\n<p>Con un bucle, se pueden obtener tantos caracteres aleatorios como sean necesarios para componer el password e incluso tantos passwords como sea necesario.<\/p>\n\n\n\n<p>El siguiente ejemplo, muestra diez passwords de ocho caracteres cada uno, seleccionados aleatoriamente. Para cambiar el n\u00famero de passwords o la cantidad de caracteres solo hay que modificar los valores de las variables <strong>num_passwords<\/strong> y <strong>cant_caracteres<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import string\nimport random\ncaracteres = list(string.ascii_letters+string.punctuation)\nnum_passwords = 10\ncant_caracteres = 8\nprint('%s passwords de %s caracteres.' %(num_passwords,cant_caracteres))\nfor x in range(num_passwords):\n  password = ''\n  for y in range(cant_caracteres):\n    password = password + random.choice(caracteres)\n  print('Password %s: %s' %(x+1,password))<\/code><\/pre>\n\n\n\n<p>Tambi\u00e9n se puede usar <strong>random.choices()<\/strong> que devuelve una lista de caracteres seleccionados de una lista. El primer argumento que se le pasa es la lista desde donde seleccionar los caracteres y el argumento <strong>k<\/strong> es la cantidad de caracteres a seleccionar de la misma.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import string\nimport random\ncaracteres = list(string.ascii_letters+string.punctuation)\npassword = ''.join(random.choices(caracteres,k=8))\nprint(password)<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Una forma f\u00e1cil de obtener passwords puede ser usar el m\u00e9todo choice del m\u00f3dulo random. Para ello se puede usar &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[63,45,2,6,62],"class_list":["post-133","post","type-post","status-publish","format-standard","hentry","category-python","tag-contrasena","tag-password","tag-python","tag-python3","tag-random"],"_links":{"self":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=133"}],"version-history":[{"count":6,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/133\/revisions"}],"predecessor-version":[{"id":141,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/133\/revisions\/141"}],"wp:attachment":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}