Back to "वाक्यांश इनपुट विस्तार से गुरूड फ़ॉर्मेट."

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

C#

वाक्यांश इनपुट विस्तार से गुरूड फ़ॉर्मेट.

Friday, 13 September 2024

छोटे पोस्ट FTW

एक समस्या के लिए मुझे बहुत कम लेकिन उपयोगी समाधान मिल रहा था । नाम, वाक्यांश इनपुट से जीयूआईD कैसे तैयार करें जहाँ जीआईडी हमेशा वैध होता है परंतु किसी भी इनपुट वाक्यांश के लिए विशिष्ट होता है.

मैं अपने लिए इस की जरूरत है RSS फीड जेनरेटर जहाँ मैं भोजन में प्रत्येक वस्तु के लिए जीयूआई अनुप्रयोग बनाना चाहता था जो दोहरायी जा सकती थी लेकिन प्रत्येक वस्तु के लिए अद्वितीय था.

यह पता चला है कि XxHash128 इसके लिए कृपालुता है क्योंकि यह हमेशा एक 128 बिट (या 16 बाइट) Oh देता है. इसका अर्थ है कि इसे बिना 'एरे' के वाक्यांश इनपुट से एक जीयूआई डीडी तैयार करने के लिए इस्तेमाल किया जा सकता है। बकवास।

     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();
    }

यह एक सादा एक्सटेंशन विधि है जो स्ट्रिंग इनपुट लेता है तथा जीयूआई डी. वह XxHash128 से है System.IO.Hashing नेमस्पेस.

आप निश्चित रूप से किसी भी अनंत एल्गोरिथ्म का उपयोग कर सकते हैं जो एक 128 बिट हैh देता है. वह XxHash128 सिर्फ एक अच्छा विकल्प है जैसे यह तेजी से है और हैश मूल्यों का एक अच्छा वितरण देता है.

आप भी एक वापसी कर सकते हैं new Guid(<string>) इस से वास्तविक Gidid प्राप्त करने के लिए जिसे एक डेटाबेस या अन्य जीयूआई विशिष्ट मामलों में प्रयोग किया जा सकता है.

logo

©2024 Scott Galloway