Schrift
[thread]12522[/thread]

Aus String > 35 Zeichen reproduzierbaren Zufallsstring mit 35 Zeichen erzeugen



<< >> 6 Einträge, 1 Seite
leo11
 2008-09-20 10:19
#114806 #114806
User since
2008-08-14
250 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich überlege, wie man aus einem String in der Art:

Perl_is_genious-20.09.2008-NeedHelp@perl-community.de_HZZw32jkO

einen reproduzierbaren Zufallstring erzeugen kann, der 35 Zeichen lang ist. So etwas wie die folgende Zeile macht
Code (perl): (dl )
perl -e 'srand (42); $zzahl = rand(); print $zzahl, "\n"'

srand arbeitet allerdings mit Zahlen. Was ich bräuchte wäre so etwas mit einem String. Zur Veranschaulichung:
Code (perl): (dl )
perl -e 'srand (Perl_is_genious-20.09.2008-NeedHelp@perl-community.de_HZZw32jkO); $zzahl = rand(); $zzahl = substr($zzahl,0,35); print $zzahl, "\n"'


Der erzeugte Zufallsstring kann neben Zahlen auch Buchstaben, Unterstriche und Bindestriche enthalten.

VG
leo11
murphy
 2008-09-20 11:12
#114807 #114807
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Berechne doch einfach eine Checksumme – zum Beispiel mit CPAN:Digest::MD5.
When C++ is your hammer, every problem looks like your thumb.
leo11
 2008-09-20 11:53
#114809 #114809
User since
2008-08-14
250 Artikel
BenutzerIn
[default_avatar]
Hallo murphy,

extra ein Modul installieren kommt nicht in frage. Aber das hat mich auf die Idee gebracht es mit dem Linux-Befehl md5sum zu probieren.

echo "Perl_is_genious-20.09.2008-NeedHelp@perl-cmmunity.de_HZZw32jkO" | md5sum >> test

Damit geht's ganz einfach, danke.
moritz
 2008-09-20 12:00
#114810 #114810
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
$ corelist /Digest/

Digest was first released with perl 5.007003

Digest::MD5 was first released with perl 5.007003

Digest::SHA was first released with perl 5.009003

Digest::base was first released with perl 5.008003

Digest::file was first released with perl 5.008007
leo11
 2008-09-20 12:08
#114812 #114812
User since
2008-08-14
250 Artikel
BenutzerIn
[default_avatar]
Ok. Wieder was dazu gelernt.
Gast Gast
 2008-09-20 14:32
#114814 #114814
oder mit "ord":
Code (perl): (dl )
$str=join('', map{int($_) eq $_?$_:ord($_)}split(', $str));
<< >> 6 Einträge, 1 Seite



View all threads created 2008-09-20 10:19.