Page 1 of 1

Chaîne de caractére aléatoire

Posted: 05 Apr 2017, 14:56
by apokalypt
Bonjour,
J'aimerais créer un bot qui peut générer un texte complètement aléatoirement (avec nombre ou lettre ou les deux). Mais je ne sais vraiment pas quoi faire, je suis un noob totale dans la matière...
Pouvez-vous me donner une solution ou un code me permettant de le faire ainsi que où le mettre.

Je suis sur windows 10 avec la dernière version d'actionaz

Merci de votre réponse,
Apokalypt

Re: Chaîne de caractére aléatoire

Posted: 10 Apr 2017, 09:00
by francois
Bonjour,

Action code qui crée la variable phrase_alea.

Code: Select all

//=========
// A paramétrer
//=========
C_num = "Y" // Caracteres numériques : "Y" ou "N"
C_minuscule = "Y" // Caracteres minuscules : "Y" ou "N"
C_majuscule = "Y" // Caracteres majuscules : "Y" ou "N"
C_NINI =    "Y" // Caracteres NI numériques / NI aphabetiques ("-","_","#",.. ) : "Y" ou "N"
// (table modifiable  dans fonction  "f_liste_caracteres_utilises")

mot_lg_mini=2;
mot_lg_maxi=12;
nb_mots = 125
//=========

liste_caracteres_utilises = f_liste_caracteres_utilises(C_num,C_minuscule,C_majuscule,C_NINI);

phrase_alea="";
for (j=0;j< nb_mots;j++){ 
   phrase_alea = phrase_alea + " " + f_mot_alea(liste_caracteres_utilises,mot_lg_mini,mot_lg_maxi);
 }; // fin for
//=======================
//=======================
//=======================
//=======================
function  f_liste_caracteres_utilises(C_num,C_minuscule,C_majuscule,C_NINI){
 liste_caracteres_utilises="";

if ( C_num=="Y"){
   for (i=48;i<=57;i++){ 
        var liste_caracteres_utilises  = liste_caracteres_utilises + String.fromCharCode(i); 
   }; // fin if num
}; // fin FOR

if (C_minuscule =="Y"){
   for (i=97;i<=122;i++){ 
        var liste_caracteres_utilises  = liste_caracteres_utilises + String.fromCharCode(i); 
   }; // fin if num
}; // fin FOR

if (C_majuscule=="Y"){
   for (i=65;i<=90;i++){ 
        var liste_caracteres_utilises  = liste_caracteres_utilises + String.fromCharCode(i); 
   }; // fin if num
}; // fin FOR

if (C_NINI =="Y"){
  var liste_caracteres_utilises  = liste_caracteres_utilises +"-_#"; 
}; // fin FOR
return liste_caracteres_utilises
} // fin function

function   f_mot_alea(liste_caracteres_utilises,mot_lg_mini,mot_lg_maxi)  {
// determination longueur mot

lg_mot =  Algorithms.randomInteger(mot_lg_mini,mot_lg_maxi);
mot_alea = "";
for (i=0;i<lg_mot;i++){ 
  TT = liste_caracteres_utilises[Algorithms.randomInteger(0, (liste_caracteres_utilises.length-1))]
  var mot_alea   =mot_alea + TT
}; // fin FOR
return mot_alea
} //   fin function    
Dans cette action code :
- On peut prendre en compte ou non les caracteres alphabetiques (majuscules et/ou minuscules), numériques ou autres :

Code: Select all

C_num = "Y" // Caracteres numériques : "Y" ou "N"
C_minuscule = "N" // Caracteres minuscules : "Y" ou "N"
C_majuscule = "N" // Caracteres majuscules : "Y" ou "N"
C_NINI =    "N" // Caracteres NI numériques / NI aphabetiques ("-","_","#",.. ) : "Y" ou "N"
- Les mots ont une longueur aléatoire, avec une lg mini ou maxi :

Code: Select all

mot_lg_mini=2;
mot_lg_maxi=12;
- nombre de mots :

Code: Select all

nb_mots = 125
Exemple d'utilisation : creation d'un mot de passe de longueur 12, avec tous types de caracteres :

Code: Select all

C_num = "Y" // Caracteres numériques : "Y" ou "N"
C_minuscule = "Y" // Caracteres minuscules : "Y" ou "N"
C_majuscule = "Y" // Caracteres majuscules : "Y" ou "N"
C_NINI =    "Y" // Caracteres NI numériques / NI aphabetiques ("-","_","#",.. ) : "Y" ou "N"
// table modifiable  dans fonction  "f_liste_caracteres_utilises")

mot_lg_mini=12;
mot_lg_maxi=12;

nb_mots = 1