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

Administration Oracle Discussion :

Mot de passe aléatoire ?


Sujet :

Administration Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Points : 119
    Points
    119
    Par défaut Mot de passe aléatoire ?
    Bonjour;

    Je suis en train de créer un pool de user Oracle sur Oracle 11g.
    Comment faire pour obtenir un mot de passe unique et aléatoire pour chaque user ajouter à ce pool ?

    En clair, que mettre dans la clause (CREATE USER userXXX) IDENTIFIED BY '???????' ...?

    Merci beaucoup pour votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Points : 119
    Points
    119
    Par défaut
    Bon bah fichier de spool + function suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create or replace
    FUNCTION CreateRandomPassword RETURN VARCHAR IS
    Pwd VARCHAR2(30);
    BEGIN
    SELECT dbms_random.string('A', 30) INTO Pwd FROM DUAL;
    RETURN Pwd;
    END;
    Bonne journée

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    c'est la raison pourquoi Oracle conseille d'enlever le droit d'Execution de DBMS_RANDOM du public.

    Dans la doc
    Note:

    Do not use the DBMS_RANDOM package. The DBMS_RANDOM package generates pseudo-random numbers, which, as Randomness Recommendations for Security (RFC-1750) states that using pseudo-random processes to generate secret quantities can result in pseudo-security.
    une petit démo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SQL> exec dbms_random.seed(1);
    SQL> select dbms_random.string('A',10) from dual;
    nsSAdLtijM
    SQL> select dbms_random.string('A',10) from dual;
    VdrWvyZiD
    SQL> exec dbms_random.seed(1);
    SQL> select dbms_random.string('A',10) from dual;
    nsSAdLtijM
    SQL> select dbms_random.string('A',10) from dual;
    gVdrWvyZiD
    Comme tu le vois, ça se répète, donc c'est relativement prévisible ce qui vient après tel ou tel mot de passe, si tu as accès à une quantité de mots de passe.

    Bon c'est toujours mieux que dba123

    il y a aussi crypto :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SQL> select 
      substr(
        regexp_replace(
          utl_raw.cast_to_varchar2(dbms_crypto.RANDOMBYTES(255)),
          '[^!-~]'),
        1,10) 
      from dual;
     
    SUBSTR(REG
    ----------
    jW<*;P,MC*

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Points : 119
    Points
    119
    Par défaut
    Merci Laurent !
    Je ne connaissais pas du tout cette fonction !

  5. #5
    Membre du Club
    Profil pro
    Élève
    Inscrit en
    Avril 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Avril 2004
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Dans la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     select 
      substr(
        regexp_replace(
          utl_raw.cast_to_varchar2(dbms_crypto.RANDOMBYTES(255)),
          '[^!-~]'),
        1,10) 
      from dual;
    Je ne comprends pas l'expression régulière : [^!-~]
    Pouvez-vous me l'expliquer ?

    En effet, quand je lance la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select utl_raw.cast_to_varchar2(substr(dbms_crypto.RANDOMBYTES(255),1,12)) from dual;
    J'obtiens des caractères très bizarres, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ¿³€Í¿ö ou O¿;Æ1²
    Et le mot de passe obtenu est de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /)#&\`<$\< ou `-{^.?:>(\
    Merci d'avance.

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut Regepx
    [^!-~]

    ! est dans les premiers caractères lisibles et ~ dans les derniers du Ascii 7 bits.

    En otant ce qui n’est pas dans cet intervalle, ca permet d’avoir quelque chose de facile à taper sur le clavier

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

Discussions similaires

  1. Mot de passe aléatoire
    Par Kenstart6 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 24/10/2013, 13h57
  2. Identification par mot de passe aléatoire
    Par Rony Rauzduel dans le forum Langage
    Réponses: 2
    Dernier message: 28/08/2010, 10h32
  3. Créer un mot de passe aléatoire
    Par antoine974 dans le forum Langage
    Réponses: 6
    Dernier message: 18/12/2008, 15h45
  4. Réponses: 6
    Dernier message: 17/09/2007, 22h05
  5. [framework]génération de mot de passe aléatoire
    Par seb_fou dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 13/02/2006, 13h14

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