AW: [CSharp.net] sicheren Hashwert erzeugen

Reinhold Becker csharp.net at glengamoi.com
Wed, 3 Nov 2004 12:42:14 +0100


Eben. Mach's mit einem Slash, dann kannst Du auch decimal Werte nehmen
 Das macht dann 1/11
Oder eben 11/1

Int i1 = 1;
Int i2 = 11;
String myHash = i1.ToString() + "/" + i2.toString();

public int GetHash()
{
	return myHash.GetHashCode();
}


Reinhold

-----Ursprüngliche Nachricht-----
Von: csharp.net-admin@glengamoi.com =
[mailto:csharp.net-admin@glengamoi.com]
Im Auftrag von Pessner, Andreas
Gesendet: Mittwoch, 3. November 2004 11:09
An: csharp.net@glengamoi.com
Betreff: AW: [CSharp.net] sicheren Hashwert erzeugen

Ist doch dann auch net sicher!

Aus 

int H1 = 11;
int H2 = 1;

wird: H1.ToString() + sH2.ToString() = "111";

aus 

int H1 = 1;
int H2 = 11;

wird: H1.ToString() + H2.ToString() = "111";

sollte eigentlich auch denselben Hashwert ergeben!

Man könnte dann natürlich Sonderzeichen mit einziehen!

Quasi net H1.ToString() + H2.ToString() - sondern vielmehr H1.ToString() =
+
"." + H2.ToString()

Das könnte dann vielleicht gehen.


-----Ursprüngliche Nachricht-----
Von: csharp.net-admin@glengamoi.com =
[mailto:csharp.net-admin@glengamoi.com]
Im Auftrag von Reinhold Becker
Gesendet: Mittwoch, 3. November 2004 08:33
An: csharp.net@glengamoi.com
Betreff: AW: [CSharp.net] sicheren Hashwert erzeugen

Wandel die int Werte in strings um, und addiere die wieder.

Reinhold 

-----Ursprüngliche Nachricht-----
Von: csharp.net-admin@glengamoi.com =
[mailto:csharp.net-admin@glengamoi.com]
Im Auftrag von Pessner, Andreas
Gesendet: Dienstag, 2. November 2004 08:40
An: csharp.net@glengamoi.com
Betreff: AW: [CSharp.net] sicheren Hashwert erzeugen

Hm - Jup - so einfach isses - man sieht scheinbar ab und an mal den Wald =
vor
lauter Bäumen nicht ;-)

Naja - ist wahrscheinlich daraus gewachsen - das ich das mal mit nem
doppelten ID Wert gebraucht habe. Haste dafür auch noch ne einfache =
Lösung?

Sind quasi 2 int Werte aus ner DB - die ich als Hashwert in ner =
Hashtable
brauche.

-----Ursprüngliche Nachricht-----
Von: csharp.net-admin@glengamoi.com =
[mailto:csharp.net-admin@glengamoi.com]
Im Auftrag von Christoph Wille
Gesendet: Dienstag, 2. November 2004 08:11
An: csharp.net@glengamoi.com
Betreff: Re: [CSharp.net] sicheren Hashwert erzeugen

Die Strings addieren und that's it. Dann ergibt nur ein identer Vorname =
+
Nachname einen gleichen Hashwert. Wenn das nicht gewünscht ist, dann
verstehe ich den Ansatz mit der Hashtable allerdings nicht.

Chris

At 08:01 AM 11/2/2004, you wrote:
>Ich muß für meine Hashtable einen sicheren Hashwert erstellen.
>
>Dieser besteht aus 2 Strings z.B.: Vorname, Nachname.
>
>Bisher mache ich das so:
>
>private string Vorname;
>private string Nachname;
>
>public int GetHash()
>{
>         return Vorname.GetHashCode() ^ Nachname.GetHashCode(); }
>
>Leider kann das natürlich zu Fehlern führen.
>
>z.B.:
>Person1:
>Vorname = "Andreas"
>Nachname = "Maier"
>
>Person2:
>Vorname = "Maier"
>Nachname = "Andreas"
>
>In dem Beispiel sollte der Hashwert beider Personen eigentlich derselbe =

>sein - befürchte ich mal.
>
>Gibt es da einen besseren Ansatz?


_______________________________________________
CSharp.net Mailingliste, Postings senden an:
CSharp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/csharp.net

_______________________________________________
CSharp.net Mailingliste, Postings senden an:
CSharp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/csharp.net


_______________________________________________
CSharp.net Mailingliste, Postings senden an:
CSharp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/csharp.net

_______________________________________________
CSharp.net Mailingliste, Postings senden an:
CSharp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/csharp.net