Avatar billede 7th Praktikant
25. april 2004 - 11:56 Der er 15 kommentarer og
2 løsninger

Encoding / Hexadecimal

Jeg leder efter en funktion, som kan formatere/konventere en almindelig tekststreng til et unik alias/hash, som kan bruges i en url. Det unikke alias/hash skal dog ikke være mere unik end at ens tekststrenge får ens unikke alias/hash.

Foreløbig har jeg fundet frem til hexdec() og sha1(), som umiddelbart ser ud til at kunne gøre ovenstående. Dog er jeg lidt i tvivl om hexdec(), da jeg fornemmer, den egentlig er beregnet til at helt andet brug.
Avatar billede 7th Praktikant
25. april 2004 - 11:57 #1
Misvisende spørgsmålstitel. Der skulle have stået Formatere/konventere en tekststreng.
Avatar billede fangel Nybegynder
25. april 2004 - 12:01 #2
md5() kan jo altid bruges.. ;)

I teorien kan alt der laver en hash bruges... en hash er jo netop ned måde at lave en checksum af en tekst, så man kan se om en tekst passer med en checksum - der kan dog være flere tekster med samme checksum, men i md5's tilfælde så er der kun en 32^16 (~1.21 * 10^24) for at to tekststrenge giver samme hash...

Morten
Avatar billede dennismp Nybegynder
25. april 2004 - 12:01 #3
md5() plejer jeg at bruge
Avatar billede dennismp Nybegynder
25. april 2004 - 12:02 #4
hexdec() er jo til at konvertere hex-tal til decimal tal. Så den egner sig ikke
Avatar billede elskermad.dk Nybegynder
25. april 2004 - 12:03 #5
forstår ikke spørgsmålet men dette laver et "pass" ud af tekststregen...

<?

$tekststreng = "hej med dig :)";

$i=rand(8,12);
$range=$tekststreng;
$range = str_replace(" ", "", $range);
$random=strlen($range);
for ($j=0;$j<$i;$j++)
{
$t=rand(0,$random);
$pass.=$range[$t];
}

echo $pass;

?>
Avatar billede elskermad.dk Nybegynder
25. april 2004 - 12:03 #6
... ehmn for langsom hehe :]
Avatar billede dennismp Nybegynder
25. april 2004 - 12:09 #7
elskermad.dk en hash-værdi skal hest givet det samme output hvis man burger det samme input. Gør din det? :-)
Avatar billede elskermad.dk Nybegynder
25. april 2004 - 12:18 #8
hehe næææ men forstod heller ikk spørgsmålet som jeg skrev, og den gang jeg skrev mit var jeres tekst ikke på min skærm :D
Avatar billede 7th Praktikant
25. april 2004 - 12:30 #9
Jeg mener at have læst et sted, at md5() kan give samme alias/hash på forskellige tekststrenge.
Avatar billede dennismp Nybegynder
25. april 2004 - 12:33 #10
Jeg giver en kasse øl hvis det nogensinde sker for dig - og det er det samme problem med sha.
Avatar billede 7th Praktikant
25. april 2004 - 12:33 #11
Hov, havde ikke set din kommentar dea_pg :o) Så må det jo være den bedste at bruge.
Avatar billede 7th Praktikant
25. april 2004 - 12:38 #12
Lidt irriterende jeg ikke havde tænkt på md5(), da jeg udmærket kender den. Jeg havde fået galt fat i den unikke del, så indtil for få minutter siden troede jeg, at md5() genererede et unik hash for hver eneste tekststreng, og da jeg ikke skal bruge det til adgangskoder, så jeg bort fra den.

Points til dea_pg og dennismp :o)
Avatar billede dennismp Nybegynder
25. april 2004 - 12:41 #13
Rent teoretisk gør den ikke. Den smider jo data væk (fx. kan man jo lave en md5-string på en 1gb fil - uden at den fylder mere end 32bytes).

Rent praktisk, så sker det nok ikke :).
Avatar billede dennismp Nybegynder
25. april 2004 - 12:42 #14
hovsa, et svar til herren :)
Avatar billede 7th Praktikant
25. april 2004 - 13:26 #15
Venter lige på et svar fra dea_pg også...
Avatar billede fangel Nybegynder
25. april 2004 - 14:07 #16
svaa'r (så lige tv...)
Avatar billede 7th Praktikant
25. april 2004 - 16:13 #17
Tak for hjælpen :o)
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