Powiel możliwe:
How do I create a HashCode in .net (c#) for a string that is safe to store in a database?Czy funkcja mieszania ciągów .NET jest przenośna?
używam C# 4.0 i dostaje hash ciąg powołując:
"my string".GetHashCode()
Kod generowany przez tego połączenia są przechowywane w bazie danych do przyszłości posługiwać się. Ten kod skrótu służy do znajdowania pewnego podzestawu łańcuchów, a następnie do równego porównania.
Pytania są następujące:
- Czy jest to standaryzowany obliczenia mieszania? Czy mogę założyć, że możliwe jest obliczenie tego samego skrótu w różnych środowiskach, takich jak C# w .Net 3.0 lub przyszłych edycjach .Net?
- Czy jest możliwe obliczenie tej samej funkcji skrótu dla siebie przez napisanie jej w Javie, PL/SQL, Ruby, itp?
- Czy mogę założyć, że wygenerowany dzisiaj skrót będzie taki sam jutro w w tym samym środowisku? Na przykład, kiedy wyłączam mój komputer i ponownie uruchomić program, zmienić ustawienia regionalne lub inne ustawienia?
- Jakie są ograniczenia możliwości przenoszenia?
- Wiem, że mogę to zrobić samemu, ale może jest zapewniona przenośność?
Odpowiedzi na twoje pytania brzmią: NIE, NIE, NIE, NIE, NIE, nie ma żadnej "przenośności", i nie ma żadnej "przenośności" jakiejkolwiek. ** Pod żadnym pozorem nie powinieneś robić tego, co opisujesz. ** –