PDA

Visualizza la versione completa : [JAVA] Generare password di senso compiuto


Bobo
31-10-2005, 10:07
Sto cercando un codice java (va bene cmq anche in altri linguaggi) per generare password casuali di "senso compiuto".. ossia mi deve gerare una cosa del genere :

abbacondo
salbarino
cadarella

cio parole pronunciabili.. non del tipo

adffgtt
hhdjurtmne
mkduxlo

spero di aver reso l'idea.
Grazie!

alka
31-10-2005, 10:11
Originariamente inviato da Bobo
Sto cercando un codice java (va bene cmq anche in altri linguaggi) per generare password casuali di "senso compiuto".. ossia mi deve gerare una cosa del genere
Il linguaggio di programmazione va indicato anche nel titolo, come da Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=862017).

Il titolo di questa discussione lo modifico io.

Ciao! :ciauz:

keratox
31-10-2005, 10:13
Beh, non mi risulta che in un linguaggio si conoscano le parole in italiano, inglese e cosi' via, n che ci siano funzioni personalizzate.

Dunque dovresti cercare in un vocabolario o in testi in rete (data una chiave di ricerca, per parole pseudo-casuali) e sceglierle casualmente, magari dopo averle memorizzate in una lista, un array o qualcos'altro.

Comunque credo che se qualcuno scelga una password di senso compiuto, la scelga in base alla propria "vita" e a ci che conosce, altrimenti solitamente si opta per password casuali alfanumeriche.

Poi.. prima parli di 'senso compiuto', poi di parole 'pronunciabili', nel secondo caso devi applicare regole sintattiche come ad esempio 'regole di successione di consonanti' ecc...

Ciao

Bobo
31-10-2005, 10:19
s, pi preciso parlare di "parole pronunciabili"..

Io ricordo una volta di aver trovato uno script in asp che generava parole in quel modo e non utilizzava n vocabolari n cose parecchio complicate.

Andrea1979
31-10-2005, 10:38
una regola scema scema che mi vanuta in mente:

crei tre array, uno con le consonanti e i gruppi che possono stare in testa ad una parola (tipo SP, PR, CHI, CHE) , uno con le doppie e uno con le vocali

Regole di generazione:
1) Scegli a caso uno degli array di consonanti-singole/gruppi pronunciabili e vocali, da quell'array scegli un elemento.

2) se al passo precedente hai scelto una vocale, al passo successivo scegli a caso da uno qualunque dei tre array un elemento altrimenti (non era vocale) scegli a caso un elemento dalle vocali.

Ripetere a piacere. Non ti eviterai parole tipo cheai o robe simili, ma potrebbe essere un inizio da affinare.

Resto comunque dell'idea che le password dovrebbero essere, per sicurezza, alfanumeriche e prive di senso...

Bobo
31-10-2005, 10:44
Riguardo alla sicurezza sono daccordo.. comunque ho trovato lo
script solo che in ASP.. qualcuno fa mica il TRADUTTORE????


<%
Dim i
For i = 1 To 10
Response.Write RandomPassword(7, 10) & "
"
Next
function RandomPassword(Min, Max)
Dim Password
Dim AddConsonant
Dim Letter
Dim Length
Dim Index
Dim Random

Const DoubleConsonants = "cdfglmnprst"
Const SingleConsonants = "bcdfghjklmnprstv"
Const Vowels = "aeiou"
Randomize()
Length = Int(Rnd * (Max - (Min - 1))) + Min
While Len(Password) < Length
Random = Int(Rnd * 100)
if Not Password = "" And AddConsonant And Random < 10 Then
Index = Int(Rnd * Len(DoubleConsonants)) + 1
Letter = Mid(DoubleConsonants, Index, 1)
Password = Password & Letter & Letter
AddConsonant = False
ElseIf Not Password = "" And AddConsonant And Random < 90 Then
Index = Int(Rnd * Len(SingleConsonants)) + 1
Letter = Mid(SingleConsonants, Index, 1)
Password = Password & Letter
AddConsonant = False
Else
Index = Int(Rnd * Len(Vowels)) + 1
Letter = Mid(Vowels, Index, 1)
Password = Password & Letter
AddConsonant = True
End if
Wend

if Len(Password) > Max Then Password = Left(Password, Max)

RandomPassword = Password
End function
%>

Loading