2012-05-16 8 views
9

Jak utworzyć prostą wartość mieszającą? Na przykład mam ciąg "TechnologyIsCool" i jak mieć wartość mieszania z tego ciągu?Jak utworzyć prostą krótką wartość skrótu? C#

chcę zrobić jakieś metody jak:

public string HashThis(string value) 
{ 
    string hashResult = string.Empty; 

    ... 

    return hashResult; 
} 

i wywołanie tej metody jak:

string hash = HashThis("TechnologyIsCool"); 

a potem mieć hash jak "5qazws".

+4

Dlaczego nie chcesz używać String.GetHashCode()? – Blablablaster

+1

Czy to zadanie domowe? –

+4

Jaki skrót? Indeksujący skrót? Kryptograficzny skrót? – Polynomial

Odpowiedz

12

Zastosowanie String.GetHashCode Method

public static void Main() 
    { 
     DisplayHashCode("Abcdei"); 
    } 

static void DisplayHashCode(String Operand) 
{ 
    int  HashCode = Operand.GetHashCode(); 
    Console.WriteLine("The hash code for \"{0}\" is: 0x{1:X8}, {1}", 
         Operand, HashCode); 
} 
+3

Hashcode może się różnić w różnych środowiskach wykonawczych. Niektóre ostrzeżenia dotyczące tego rozwiązania można znaleźć tutaj: http://stackoverflow.com/questions/1116860/whats-the-best-way-to-create-a-short-hash-similiar-to-what-tiny -url-does – Magge

6

Zastosowanie GetHashCode();

public string HashThis(string value) 
{ 
    return hashResult = value.GetHashCode(); 
} 
+2

Hashcode może się różnić w różnych środowiskach wykonawczych. Niektóre ostrzeżenia dotyczące tego rozwiązania można znaleźć tutaj: http://stackoverflow.com/questions/1116860/whats-the-best-way-to-create-a-short-hash-similiar-to-what-tiny -url-does – Magge

1

No nie można używać String.GetHashCode(), ponieważ nie gwarantuje powrotu tego samego skrótu tego samego łańcucha za każdym razem.

+0

Co gwarantuje powrót tego samego skrótu na tym samym łańcuchu za każdym razem? – Smit

Powiązane problemy