2012-05-16 26 views
9

Basit karma değeri nasıl oluşturulur? Örneğin "TechnologyIsCool" dizesi ve bu dizeden nasıl karma değere sahip olacağım? gibi bu yöntemiBasit kısa karma değeri nasıl oluşturulur? C#

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

    ... 

    return hashResult; 
} 

ve çağrı:

ben gibi bazı yöntem yapmak istiyorum

string hash = HashThis("TechnologyIsCool"); 

ve bundan sonra "5qazws" gibi karma var. Bu aynı ipte her defasında aynı karma dönmek için garanti etmez, çünkü

+4

Neden String.GetHashCode() kullanmak istemiyorsunuz? – Blablablaster

+1

Bu ev ödevi mi? –

+4

Ne tür bir karma? Bir indeksleme hash? Bir şifreleme karması mı? – Polynomial

cevap

12

Kullanım 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

Hash kod farklı çalışma zamanlarına göre değişebilir. Bu çözüm için geçerli olan bazı uyarılar şu adreste bulunabilir: http://stackoverflow.com/questions/1116860/whats-the-best-way-to-create-a-short-hash-similiar-to-what-tiny -url-does – Magge

6

Kullanım GetHashCode();

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

Hash kodu, farklı çalışma zamanlarına göre değişebilir. Bu çözüm için geçerli olan bazı uyarılar şu adreste bulunabilir: http://stackoverflow.com/questions/1116860/whats-the-best-way-to-create-a-short-hash-similiar-to-what-tiny -url-does – Magge

1

Hayır String.GetHashCode() kullanamazsınız.

+0

Her seferinde aynı dizede aynı karmayı iade etme garantisi ne olacak? – Smit

İlgili konular