Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2011, 10h02   #1
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 109
Points : 33
Points : 33
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
Moostiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 11h27   #2
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 109
Points : 33
Points : 33
Bon bah fichier de spool + function suivante :
Code :
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
Moostiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 12h20   #3
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

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

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

Dans la doc
Citation:
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 :
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 :
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*
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 16/12/2011, 10h02   #4
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 109
Points : 33
Points : 33
Merci Laurent !
Je ne connaissais pas du tout cette fonction !
Moostiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h45.


 
 
 
 
Partenaires

Hébergement Web