Java utiliser math random

Fermé
crypto - 24 mars 2011 à 19:25
 crypto - 24 mars 2011 à 20:20
Bonjour,

Je souhaite constituer un algorithme avec la fonction math random de java en fonction du jour et de la date avec une sortie de 26 caractères (comme l'alphabet par exemple), exemple: un dossier créer a 8 heure du matin le 25/03/11 donnera un code de 26 lettres aléatoire de l'alphabet pour pouvoir accéder a ce dossier.

Est-ce possible?

Si oui me montrer un exemple.

merci.


A voir également:

7 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
24 mars 2011 à 19:38
Ce que tu veux faire exactement c'est quoi ?
Qu'est-ce que tu as en entrée, et qu'est-ce que tu veux en sortie ?

Si tu veux créer un fichier avec un nom aléatoire tu peux utiliser File.createTempFile
0
Creér un algorithme qui crypte mes nouveaux dossiers automatiquement en fonction du jour et de l'heure avec une sortie en alphabet de 26 caratères qui me servira de code d'accès pour y accéder par la suite.
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
24 mars 2011 à 19:57
Avec un alphabet de 26 caractères je ne sais pas trop, mais on pourra toujours modifier ça après, mais en général Java va renvoyer des int (donc 10 caractères)

Par exemple si on prends une Date ou une SimpleDateFormat on peut utiliser la valeur de hashCode associée et l'utiliser comme nom de fichier...
0
Ok tu aurais un exemple de code pour faire sa sous la main? car j'ai trouver ça
import java.util.Random;

/** 
Generate pseudo-random floating point values, with an 
approximately Gaussian (normal) distribution.

Many physical measurements have an approximately Gaussian 
distribution; this provides a way of simulating such values. 
*/
public final class RandomGaussian {
  
  public static void main(String... aArgs){
    RandomGaussian gaussian = new RandomGaussian();
    double MEAN = 100.0f; 
    double VARIANCE = 5.0f;
    for (int idx = 1; idx <= 10; ++idx){
      log("Generated : " + gaussian.getGaussian(MEAN, VARIANCE));
    }
  }
    
  private Random fRandom = new Random();
  
  private double getGaussian(double aMean, double aVariance){
      return aMean + fRandom.nextGaussian() * aVariance;
  }

  private static void log(Object aMsg){
    System.out.println(String.valueOf(aMsg));
  }
} 


Mais bon la c'est pour des chiffres
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tout simplement tu créais un tableau contenant tes lettres puis tu fais un random sur les indices de ton tableau en concaténant le contenu
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
24 mars 2011 à 20:17
Si tu veux crypter quelque chose, ça sous-entends que tu dois pouvoir le 'décrypter'...
Si tu utilises Random tu auras un comportement aléatoire, contrairement au code de hachage qui te donne toujours la même sortie pour une entrée donnée...

public static void main(String[] args) 
{ 
   System.out.println("On utilise les codes une premiere fois");

   String date1 = "24/03/2011 08:00";
   String date2 = "01/04/2011 16:00";
   String date3 = "05/05/2011 19:00";

   System.out.println(date1.hashCode());
   System.out.println(date2.hashCode());
   System.out.println(date3.hashCode());		

   System.out.println("On utilise les codes une deuxieme fois");

   String date4 = "24/03/2011 08:00";
   String date5 = "01/04/2011 16:00";
   String date6 = "05/05/2011 19:00";

   System.out.println(date4.hashCode());
   System.out.println(date5.hashCode());
   System.out.println(date6.hashCode());
}

Evidemment,
0
OK merci a vous 2 ^^
0