Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    185

    utilizzo della libreria random

    Ciao a tutti,
    mi sto facendo un applicazione che mi crea pw da stringhe che immetto io.
    io inserisco nome, cognome, poi mi ricavo data e ora attuali, e poi inserisco una parola a caso.
    In tutto cio come posso utilizzare la libreria random per generare una pw prendento lettere e numeri a caso dai dati che io do in input?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non essendoci codice a supporto, ti posso solo indicare una possibile traccia (tutto fuorché unica, qui davvero puoi sbizzarrirti).

    - decidi la lunghezza della password (fissa, o variabile, magari in questo caso, prevedendo un minimo di caratteri)
    - crei il tuo "haystack" da cui pescare lettere e numeri che formeranno la tua password concatenando tutti i dati inseriti e generati in un unico String haystack
    - peschi x (dove x è la lunghezza della password) caratteri dal tuo haystack, ad esempio tramite ciclo for, usando charAt di String e nextInt(int n) di Random, passando come parametro n la lunghezza dell'haystack.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    185
    - decidi la lunghezza della password (fissa, o variabile, magari in questo caso, prevedendo un minimo di caratteri)
    Ok, questo non ci sono problemi a farlo, mi chiedo in input di che lunghezza voglio pa pw e il gioco è fatto

    - crei il tuo "haystack" da cui pescare lettere e numeri che formeranno la tua password concatenando tutti i dati inseriti e generati in un unico String haystack
    - peschi x (dove x è la lunghezza della password) caratteri dal tuo haystack, ad esempio tramite ciclo for, usando charAt di String e nextInt(int n) di Random, passando come parametro n la lunghezza dell'haystack.
    Questi due punti invece ho bisogno di aiuto per scrivere il codice.

    Posto intanto il codice che ho scritto io:
    codice:
    /**
     * @author Dennis
     */
    
    //***********************************
    //                                  *	
    //		Librerie					*
    //									*
    //***********************************
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    import java.util.Scanner;
    
    //***********************************
    //									*	
    //		Algoritmo					*
    //									*
    //***********************************
    
    public class AlgoritmoCreaPw {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner sc = new Scanner(System.in);
    		System.out.println("Inserisci il nome dell'utente");
    		String name = sc.next();
    		System.out.println("Inserisci il cognome dell'utente");
    		String surname = sc.next();
    		System.out.println("L'utente di cui vuoi calcolare la pw e': "+name+" "+surname);
    
    		
    		Calendar cal = new GregorianCalendar();
    		int giorno = cal.get(Calendar.DAY_OF_MONTH);
    		int mese = cal.get(Calendar.MONTH);
    		int anno = cal.get(Calendar.YEAR);
    		System.out.println(+giorno+"-"+(mese+1)+"-"+anno);
    		
    		  
    		  String orario;
    		  int ore = cal.get(Calendar.HOUR);
    		  int minuti = cal.get(Calendar.MINUTE);
    		  int secondi = cal.get(Calendar.SECOND);
    		  
    		  if(cal.get(Calendar.AM_PM) == 0)
    		  orario = "A.M.";
    		  else
    		  orario = "P.M.";
    		  System.out.println("Sono le : " + ore + ":" 
    		  + minuti + ":" + secondi + " " + orario);
    	}
    
    }
    è semplice semplice, infatti per ora chiede nome e cognome e si calcola data e ora

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,281
    Originariamente inviato da dennis87
    Questi due punti invece ho bisogno di aiuto per scrivere il codice.
    Quando Andrea1979 parlava di una stringa di "haystack" intendeva semplicemente dire (e ti confermerà lui se ho dedotto io giusto) che puoi cablare nel tuo sorgente una stringa che contiene, per così dire, l'alfabeto della tua password.

    Ad esempio vuoi che sia composta solo da lettere, cifre e magari trattino e underscore? Allora definisci una stringa:

    String alfabetoPw = "abc....xyzABC....XYZ01....89-_";

    Poi sfruttando la classe java.util.Random e il suo nextInt(int n) vai a "pescare" a caso un carattere (tramite appunto un indice casuale) e componi la tua password di tot caratteri.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    185
    Ma io non voglio crearmi una pw con tutte le lettere dell'alfabeto, voglio creare la pw con il nome e cognome che inserisco io e con la data e l'ora correnti che si prende dal sistema. Posso prendere tipo un tot di lettere a caso dal nome e cognome (tot che dovrò decidere io) e numeri a caso pescandoli dalla data e dall' ora e poi comporre tutto in una stringa che sará la mia pw?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    18
    allora potresti inserire nella stringa unica che ti consigliavano , i dati che tu inserisci da input e ti cmporti allo stesso modo
    Fai qualcosa tipo String totale="nome"+"cognome"+"data";

    e con un ciclo iteri per quante volte vuoi e ti peschi un carattere random di quelli inseriti da te.


  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,281
    Originariamente inviato da dennis87
    Ma io non voglio crearmi una pw con tutte le lettere dell'alfabeto
    Allora ho capito/interpretato male io!

    Originariamente inviato da dennis87
    voglio creare la pw con il nome e cognome che inserisco io e con la data e l'ora correnti che si prende dal sistema. Posso prendere tipo un tot di lettere a caso dal nome e cognome (tot che dovrò decidere io) e numeri a caso pescandoli dalla data e dall' ora e poi comporre tutto in una stringa che sará la mia pw?
    Certo, la logica non cambia, vai sempre a "pescare" a caso da una o più stringhe.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.