webForumDet fria alternativet

slumpa fram en sträng

9 svar · 452 visningar · startad av Mc Fetto

Mc FettoMedlem sedan nov. 20022 355 inlägg
#1

Ska slumpa fram en sträng på c:a 20 tecken, antar att man använder random(). Men jag undrar hur slumpad den igentligen är! Har för mig att slumpa med en dator följer ett visst mönster. Stämmer detta?

Ska ha denna sträng för att kolla så att användare är autoriserade att använda en speciel tjänst och då kanske det ändå räcker!? Synpunkter ideé??

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Random ber om ett slumptal från processorn. Processorn innehåller vanligen en lista med slumptal, för att det är billigare än att bygga än att bygga in en riktig slumpgenerator. Du kan dock lita på att slumptalen ändåär såpass utspridda så att en person som sitter och gissar aldrig skulle hitta nåt mönster.

Dessutom så skulle man vara tvungen att läsa av slumptalen en gång varje processorcykel för att ens komma i närheten av ett mönster. Så du kan lugnt fortsätta använda den funktionen!

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

Och en kommentar: Hoppas att strängarna ligger på servern, annars kan ju vem som helst öppna .class-filen och leta upp hela listan.

andreascarlssonMedlem sedan feb. 2003202 inlägg
#4

nitro2k01 skrev:

Och en kommentar: Hoppas att strängarna ligger på servern, annars kan ju vem som helst öppna .class-filen och leta upp hela listan.

Men han skulle ju skapa strängarna "on the fly" m.h.a. slumpgeneratorn. Varför skulle då dessa strängar ligga sparade i bytekoden (classfilen)?

Mc FettoMedlem sedan nov. 20022 355 inlägg
#5

nitro2k01 skrev:

Och en kommentar: Hoppas att strängarna ligger på servern, annars kan ju vem som helst öppna .class-filen och leta upp hela listan.

Tänkte lägga den i en databas ! :)
Tack för svaret!

PhorpherMedlem sedan feb. 20002 300 inlägg
#6

nitro2k01 skrev:

Processorn innehåller vanligen en lista med slumptal, för att det är billigare än att bygga än att bygga in en riktig slumpgenerator.

Nej, processorn innehåller inte någon lista med slumptal. En slumpgenerator bygger på en algoritm som "seedas" och utifrån det "frövärdet" räknar ut nya "slumptal".

Mc FettoMedlem sedan nov. 20022 355 inlägg
#7

Keep it comming :)

Utanför diskutionen har jag ett problem med random();
Jag gör som så att jag lägger tal i en bytarray som jagsedan gör om till en string, men jag vill ju nu ha fram talen som motsvarar a-z och A-Z (97-122 och 65-90) hur instansierar jag random så att denne endast tar mellan dessa tal?

LimeMedlem sedan sep. 2001961 inlägg
#8

En slumptalsgenerator kan bara generera tal mellan 0 och 1 upp till ett visst antal decimaler...

Alltså skulle jag göra så att jag först slumpade ut om det ska vara versal eller gemen, alltså Random.nextBoolean() och sedan hämta nästa int med Random.nextInt(25) och lägga på 65 eller 97 beroende på det första värdet.

Mc FettoMedlem sedan nov. 20022 355 inlägg
#9

Tackar, det fungerar finfint så!! :D

nitro2k01Medlem sedan aug. 20039 342 inlägg
#10

andreascarlsson skrev:

nitro2k01 skrev:

Och en kommentar: Hoppas att strängarna ligger på servern, annars kan ju vem som helst öppna .class-filen och leta upp hela listan.

Men han skulle ju skapa strängarna "on the fly" m.h.a. slumpgeneratorn. Varför skulle då dessa strängar ligga sparade i bytekoden (classfilen)?

Sorry läste inte tillräckligt noggrant.

255 ms totalt · 3 externa anrop · v20260731065814-full.30151723
128 ms — hämta forumlista (db)
125 ms — hämta statistik (db)
123 ms — hämta tråd, inlägg och bilagor (db)