Şöyle birşey yaptım, daha güvenli ve bölme sayısıda Random geliyor.
Dim rastgele As New Random
Dim md5 As String = "106f6952596ed3938f8rn92089d6c30f"
Dim rastgele_sayi As Integer = rastgele.Next(3, 7)
Dim uzunluk As Integer = md5.Length
Dim esit_sayi As Integer = Math.Floor(uzunluk / rastgele_sayi)
Dim yeni_md5 As String = String.Empty
Dim baslangicsayı As Integer = 1
Dim sonsayı As Integer = esit_sayi
While (sonsayı <= uzunluk)
yeni_md5 &= Strings.Mid(md5, baslangicsayı, esit_sayi) & "-"
baslangicsayı = sonsayı
If (sonsayı + esit_sayi) > uzunluk Then
If (uzunluk - sonsayı) = 0 Then
Exit While
End If
sonsayı += (uzunluk - sonsayı)
Else
sonsayı += esit_sayi
End If
End While
yeni_md5 = Strings.Mid(yeni_md5, 1, yeni_md5.Length - 1)
Dim son_md5 As String = yeni_md5.ToString.ToUpper.Replace(" ", "")
MessageBox.Show(son_md5)