{"id":2343,"date":"2023-09-19T08:00:00","date_gmt":"2023-09-19T08:00:00","guid":{"rendered":"https:\/\/myvlcsys.com\/?p=2343"},"modified":"2023-09-19T09:21:08","modified_gmt":"2023-09-19T09:21:08","slug":"java-genera-contrasena-aleatoria","status":"publish","type":"post","link":"https:\/\/myvlcsys.com\/?p=2343","title":{"rendered":"JAVA: Generar contrase\u00f1a aleatoria."},"content":{"rendered":"\n<p>En nuestro siguiente articulo en myvlcsys, os mostramos el c\u00f3digo en JAVA para crear contrase\u00f1as aleatorias, el programa nos solicitar\u00e1 el n\u00famero de caracteres que queremos estableces para la contrase\u00f1a, mediante el m\u00e9todo de solicitud de datos mediante teclado <strong>nextInt<\/strong>(), de la clase Scanner, del paquete java.ultil.Scanner;<\/p>\n\n\n\n<p>Una vez que le indiquemos el n\u00famero de caracteres que queremos para nuestra contrase\u00f1a, haremos el llamamiento al m\u00e9todo <em><strong>generadorContrase\u00f1asMyVlcsys<\/strong><\/em>(), al que le pasamos el n\u00famero de caracteres que tendr\u00e1 nuestra contrase\u00f1a como par\u00e1metro. Todo el codigo JAVA lo englobaremos entre las sentencias <em><strong>try y catch<\/strong><\/em>, para tener el control de errores oportuno, ya que usamos la inserci\u00f3n de texto mediante teclado. En la sentencia de catch controlamos que con la Excepci\u00f3n <strong><em>InputMismatchException<\/em><\/strong>, que los caracteres que introducimos mediante teclado son s\u00f3lo n\u00fameros. c\u00f3mo podemos observar en el siguiente ejemplo:<\/p>\n\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"729\" height=\"283\" src=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/08\/image-2.png\" alt=\"\" class=\"wp-image-2362\" srcset=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/08\/image-2.png 729w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/08\/image-2-300x116.png 300w\" sizes=\"(max-width: 729px) 100vw, 729px\" \/><figcaption>Comprobaci\u00f3n de que introducimos caracteres num\u00e9ricos,<\/figcaption><\/figure>\n<\/div>\n\n\n<p> En el programa usamos el Clase Random de JAVA, en m\u00e9todo que hemos llamado <em><strong>generadorContrase\u00f1asMyVlcsys<\/strong><\/em>()  usando el m\u00e9todo de la misma <em><strong>ints(int i, int t<\/strong><\/em>), indicando el limite n\u00famerico para generar los n\u00famero aleatorios, de este modo podemos controlar el rango de caracteres de c\u00f3digo ASCII del que nos crear\u00e1 los n\u00famero aleatorios. <\/p>\n\n\n\n<p>Estableceremos el n\u00famero de caracteres que tiene el Random con el m\u00e9todo <em><strong>.limit(nCaracteres)<\/strong><\/em>. que es una funcional de la clase Random.<\/p>\n\n\n\n<p>Despu\u00e9s de generar la contrase\u00f1a aleatoria la pasaremos a formato <em><strong>String<\/strong><\/em> con el m\u00e9todo <strong><em>to.String<\/em><\/strong>. <\/p>\n\n\n\n<p>Por \u00faltimo devolvemos el valor de nuestro procedimiento con la sentencia <em><strong>return<\/strong><\/em>, para m\u00e1s tarde mostrarla en pantalla el resultado del mismo.<\/p>\n\n\n\n<p>Lo que nos mostrar\u00e1 por pantalla nuestro programa es lo siguiente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"721\" height=\"303\" src=\"http:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/08\/image-1.png\" alt=\"\" class=\"wp-image-2356\" srcset=\"https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/08\/image-1.png 721w, https:\/\/myvlcsys.com\/wp-content\/uploads\/2023\/08\/image-1-300x126.png 300w\" sizes=\"(max-width: 721px) 100vw, 721px\" \/><figcaption>Programa en ejecuci\u00f3n.<\/figcaption><\/figure>\n\n\n\n<p>Aqu\u00ed os dejamos el c\u00f3digo que hemos generado para nuestro programa de generador de contrase\u00f1as:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package myVlcsys;\n\nimport java.util.InputMismatchException;\nimport java.util.Random;\nimport java.util.Scanner;\n\npublic class generarContrasenasAleatorias {\n\n\tpublic static void main(String&#91;] args) {\n\t\t\/\/ TODO Auto-generated method stub\n\t\t\n\t\tScanner reader = new Scanner(System.in) ;\n\t\t\n\t\ttry \n\t\t{\n\t\t\tSystem.out.println(\"Cu\u00e1ntos caracteres quiere que tenga su contrase\u00f1a:\");\n\t\t\t\n\t\t\tint numeroCaracteres=reader.nextInt();\n\t\t\t\n\t\t\tSystem.out.println(\"\\nEl n\u00famero de caracteres para la contrase\u00f1a es \" + numeroCaracteres);\t\n\t\t\t\n\t\t\tSystem.out.println(\"\\nLa contrase\u00f1a generada aleatoriamente es: \");\n\t\t\t\n\t\t\tSystem.out.println(\"\\n\"+generadorContrase\u00f1asMyVlcsys(numeroCaracteres));\n\t\t}\n\t\tcatch (InputMismatchException ime){\n\t\t    System.out.println(\"\u00a1Cuidado! Solo puedes insertar n\u00fameros. \");\n\t\t    reader.next();\n\t\t }\n\t\t\t\t\t\n\t}\n    \n    public static String  generadorContrase\u00f1asMyVlcsys(int numeroCaracteres)\n    {\n    \t\n        int leftLimit = 48; \/\/ numeral '0'\n        int rightLimit = 122; \/\/ letter 'z'\n        int nCaracteres = numeroCaracteres;\n        Random random = new Random();\n\n        String generatedCadenaAleatoria = random.ints(leftLimit, rightLimit + 1)\n          .filter(i -&gt; (i &lt;= 90 || i &gt;= 97))\n          .limit(nCaracteres)\n          .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)\n          .toString();\n\n        \t\/\/  System.out.println(\"2-  \"+generatedString);\n\n        return generatedCadenaAleatoria;\n        \n       \n    }\n}\n\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En nuestro siguiente articulo en myvlcsys, os mostramos el c\u00f3digo en JAVA para crear contrase\u00f1as aleatorias, el programa nos solicitar\u00e1 el n\u00famero de caracteres que queremos estableces para la contrase\u00f1a,&hellip; <\/p>\n","protected":false},"author":3,"featured_media":2321,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[32,13],"tags":[26,35,47,36,24],"class_list":["post-2343","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","category-progrmacion","tag-debian","tag-java","tag-myvlcsys","tag-programacion-2","tag-terminal"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/posts\/2343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2343"}],"version-history":[{"count":11,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/posts\/2343\/revisions"}],"predecessor-version":[{"id":2522,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/posts\/2343\/revisions\/2522"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=\/wp\/v2\/media\/2321"}],"wp:attachment":[{"href":"https:\/\/myvlcsys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myvlcsys.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}