This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Μικρή αλλά ενδεχομένως χρήσιμη λύση σε ένα πρόβλημα που είχα. Δηλαδή, πώς να δημιουργήσετε ένα GUID από μια συμβολοσειρά εισόδου όπου η Guid είναι πάντα έγκυρη αλλά μοναδική για κάθε δεδομένη συμβολοσειρά εισόδου.
Το χρειαζόμουν αυτό για μένα. γεννήτρια τροφοδοσίας RSS όπου ήθελα να δημιουργήσω ένα GUID για κάθε αντικείμενο στην τροφή που ήταν επαναλαμβανόμενο αλλά μοναδικό για κάθε αντικείμενο.
Από ό,τι φαίνεται... XxHash128
είναι κάπως τέλειο για αυτό, καθώς δίνει πάντα 128 bit (ή 16 Byte) hash. Αυτό σημαίνει ότι μπορεί να χρησιμοποιηθεί για τη δημιουργία ενός GUID από μια συμβολοσειρά εισόδου χωρίς 'Array'.Copy ανοησίες.
public static string ToGuid(this string name)
{
var buf = Encoding.UTF8.GetBytes(name);
var guid = XxHash128.Hash(buf);
var guidS = string.Format("{0:X2}{1:X2}{2:X2}{3:X2}-{4:X2}{5:X2}-{6:X2}{7:X2}-{8:X2}{9:X2}-{10:X2}{11:X2}{12:X2}{13:X2}{14:X2}{15:X2}",
guid[0], guid[1], guid[2], guid[3], guid[4], guid[5], guid[6], guid[7], guid[8], guid[9], guid[10], guid[11], guid[12], guid[13], guid[14], guid[15]);
return guidS.ToLowerInvariant();
}
Αυτή είναι μια απλή μέθοδος επέκτασης που παίρνει μια συμβολοσειρά εισόδου και επιστρέφει ένα GUID. Η XxHash128
είναι από το System.IO.Hashing
Διάστημα ονομάτων.
Μπορείτε φυσικά να χρησιμοποιήσετε κάθε αλγόριθμο hashing που δίνει ένα 128 κομμάτι χασίς. Η XxHash128
είναι απλά μια καλή επιλογή καθώς είναι γρήγορη και δίνει μια καλή κατανομή των αξιών χασίς.
Θα μπορούσατε επίσης να επιστρέψετε ένα new Guid(<string>)
από αυτό για να πάρετε μια πραγματική Guid που μπορεί να χρησιμοποιηθεί σε μια βάση δεδομένων ή άλλες ειδικές περιπτώσεις χρήσης GUID.