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é??
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!
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".
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?
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.