Avatar billede thingholm.dk Nybegynder
05. juli 2003 - 00:27 Der er 7 kommentarer og
1 løsning

Generer kode

Hej

Hvordan genererer med en tilfældig streng betående af x antal karakterer, som kan være a-z, A-Z, 0-9 ?

VH

Anders
Avatar billede ahv Nybegynder
05. juli 2003 - 00:30 #1
<?php
function password ($len = 8) {
  $chars = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ123456789";
  mt_srand( (double) microtime() * 1000000);
  for ($i=1;$i<=$len;$i++) $out .= $chars[mt_rand(0,(strlen($chars)-1))];
  return $out;
}

//Genererer et tilfældigt password. Hvis ikke længde er sat sættes den som standard til 8.

$password = password(10);

echo $password;
?>
Avatar billede thingholm.dk Nybegynder
05. juli 2003 - 00:32 #2
Great! Hvad gør denne:

mt_srand( (double) microtime() * 1000000);
Avatar billede roenving Novice
05. juli 2003 - 00:35 #3
>>thingholm

sæt selv l (lille L), I (stort i), O (stort o) eller 0(nul) ind, hvis du kræver det, men jeg forstår så godt at alexander har udeladt dem !-)
Avatar billede ahv Nybegynder
05. juli 2003 - 00:37 #4
roenving -> Tænk det har jeg slet ikke lagt mærke til i den tid jeg har haft den læggende, det er en funktion razor en gang skrev.

thingholm.dk -> Det ved jeg faktisk ikke 100%
Avatar billede ahv Nybegynder
05. juli 2003 - 00:40 #5
Men ja at de er nudladt er forståeligt, da de jo kan ligne hinananden til forveksling hvis man for 10 tilfældige karaktere stukket i hovedet.
Avatar billede roenving Novice
05. juli 2003 - 00:52 #6
>>thingholm

Den funktion gør at random (som jo selvfølgelig er en computer-genereret semi-tilfældig funktion) starter så forskelligt et sted som muligt, sådan at chancen for at den starter med et samme udgangspunkt flere gange er uendelig lille ...

Jeg så i anden anledning en sådan random-funktion i forrige uge, jeg kan selvfølgelig ikke huske den, men som eksempel kan jeg angive hvordan de simple i princippet ser ud:

((time * 437675)%785879)/785879

hvor time svarer til mt_srand, og de tre andre tal er ret store eller _meget_ store primtal

hth
jes
Avatar billede tipsen Nybegynder
05. juli 2003 - 08:34 #7
Fra php.net: Note: Since PHP 4.2.0 it's no longer necessary to seed the random number generator before using it.
Avatar billede tipsen Nybegynder
05. juli 2003 - 11:45 #8
Hvis man på et tidspunkt skal bruge tilfældige tal til et seriøst projekt kan jeg varmt anbefale kapitel 7 fra "Numerical Recipes in C" (http://www.library.cornell.edu/nr/bookcpdf.html)

Der får man en forståelse for hvordan tilfældige tal generatorer fungerer og får desuden serveret nogle generatorer der producerer tilfældige tal som er af en kvalitet der er god nok til professionelle formål!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester