IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Java Discussion :

Pb de génération de nombre aléatoire


Sujet :

Sécurité Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Par défaut [RESOLU] Pb de génération de nombre aléatoire
    Bonjour,

    Je dois générer un nombre aléatoire à partir d'identifiant de personne. J'ai donc essayé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());        
        SecureRandom secureRandom = new SecureRandom(new String("12343424").getBytes());
        KeyGenerator generator = KeyGenerator.getInstance("AES", "BC");
     
        generator.init(128, secureRandom);
        //generator.init(128);
        Key encryptionKey = generator.generateKey();
     
        System.out.println("key   : " + Utils.toHex(encryptionKey.getEncoded()))
    Le problème est que le nombre aléatoire est toujours le même quand on ne change pas d'identifiant. Et lors que je remplace la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    generator.init(128, secureRandom);
    par
    J'ai nombre aléatoire différents à chaque exécution.

    Je voudrai donc savoir si c'est possible d'avoir un "vrai nombre aléatoire" à partir d'identifiant de personne donné ?

    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Ce comportement est "normal"... Tu initialises ton SecureRandom avec la même graine à chaque fois, sachant que c'est implémenté par un algorithme déterministe, la même entrée donne la même sortie... Il ne s'agit que de pseudo aléatoire, et tout dépend de la valeur de la graine (il génère une suite denombres pseudo aléatoires à partir de la graine)
    Je te conseille d'initialiser ton SecureRandom avec une graine variable (par exemple dépendant de System.currentTimeMillis()) ou encore d'utiliser la méthode generateSeed de la même classe... La javadoc de la classe est assez complète

    A plus

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Par défaut
    merci, pour ta réponse.

    Je me doutais que c'était dû à ma seed qui était fixe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 19/01/2012, 12h56
  2. Génération de nombres aléatoires
    Par nono_31 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 05/07/2008, 21h06
  3. défaut des fonctions de génération de nombres aléatoire type rand()
    Par Christophe30 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 17/02/2008, 20h21
  4. Génération de nombre aléatoires
    Par rebaudo dans le forum Smalltalk
    Réponses: 1
    Dernier message: 29/11/2007, 12h54
  5. recherche algo de génération de nombre aléatoire
    Par Pascale38 dans le forum MFC
    Réponses: 2
    Dernier message: 26/01/2004, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo