|
|
Imports System.Security.Cryptography
Imports System.Text
Public Function GenerateMD5String(ByVal url As String) As String
Dim md5Bytes As Byte()
Dim encoder As New UTF8Encoding()
Dim md5Hasher As New MD5CryptoServiceProvider()
md5Bytes = md5Hasher.ComputeHash(encoder.GetBytes(url))
Dim returnString As String = Nothing
For Each bt As Byte In md5Bytes
returnString &= bt.ToString("x2")
Next
Return returnString
End Function
|
|
|
Ich habe die Funktion nochmal editiert, da ist mir eine doppelte Zeile reingerutscht.
– SensenMannLE 01.03.2011
|
||
|
Danke sehr für das Snippet. Ich probiers gleich mal aus. Den Hinweisen zufolge sollte die Eindeutigkeit für meine Zwecke ausreichen, sollte in hundert Jahren mal ein Fehler im Index sein, ist der zu verschmerzen.
– marc2000 01.03.2011
|
|
|
|
|
LIKE '%ABC'wird der
LIKE 'ABC%'wird er benutzt.
|
|
|
Hi KHoffmann, ich habe keine Erfahrung mit dem Volltextindex. Ich frage nie einen Teil des Feldes ab, sondern immer den ganzen Feldinhalt. Dein Hinweis mit LIKE ist richtig aber hilft in meinem Fall leider nicht. Bringt der FullTextIndex auch etwas bei Suche nach vollem Feldinhalt?
– marc2000 01.03.2011
|
|
|
| 2 |
Hallo Marc, ich beantworte mal deine Frage. Selbst ohne mehrere Threads sollten 10.000 URLs sich in wenigen Stunden umwandeln lassen. Mit mehreren Threads wirst du wohl in etwa einer Stunde (geschätzt) fertig sein. Die Kollisionswahrscheinlichkeit beträgt 32^36 (1.5324955408658889e+5).
– Floyd 01.03.2011
|
|
| 2 |
Floyd hat die Zahl schon genannt. Hier ist auch eine Diskussion dazu: http://stackoverflow.com/questions/2444321/how-are-hash-functions-like-md5-unique
Hier ein Zitat: 'But hashes are not about "unique", they are about "unique enough".' – Jürgen Luhr 01.03.2011
|
|
|
Unique enough müsste für meine Zwecke reichen. Ich lese mal den link nach. Danke für die Zahlen. Zunächst hat mich die Einschätzung in der MSDN irritiert (http://msdn.microsoft.com/de-de/library/system.object.gethashcode.aspx), MS selbst sagt hier zumindest bei der Implementierung von GetHashCode, das sei für einen Index nicht geeignet. Weiss jemand die beste Methode/Klasse, um Hashwerte in .NET zu berechnen?
– marc2000 01.03.2011
|
||
| 1 |
Eine kleine Korrektur zu der Schätzung bezüglich der benötigten Zeit um für 10.000 URLs die MD5-Hashes zu berechnen. Hab mit einem Kollegen gesprochen der sich mit der Materie gut auskennt und er meinte, das die benötigte Zeit im Sekundenbereich, maximal jedoch im Minutenbereich liegt (je nachdem wie gut die Implementierung im .Net-Framework ist). Meine Schätzung mit Stunden ist also weit überzogen.
– Floyd 02.03.2011
|
|
|
OK, das hatte ich gehofft. Hatte Deine Antwort mal als "Pending Risk" eingestuft, werde das heute am Patient selbst ausprobieren und geb das Ergebnis dann hier bekannt. Sehr beruhigend, danke für Deinen Kommentar!
– marc2000 02.03.2011
|