2009-02-20 14 views
23

क्या यूनिक्स और विंडोज के लिए एक कमांड लाइन उपकरण है जो दोनों प्लेटफ़ॉर्म के लिए GUIDs बनाने के लिए समान एल्गोरिदम का उपयोग करता है?कमांड लाइन GUID?

+1

खिड़कियों में तुम इतनी तरह powershell के साथ ऐसा कर सकते हैं: '[GUID] :: newguid()' – Nacht

उत्तर

2

अगर वहाँ एक कमांड लाइन उपकरण उपलब्ध मैं नहीं जानता, लेकिन आप बस सी # में एक लिख सकता है (यह मोनो के साथ चलाना चाहिए):

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine(System.Guid.NewGuid().ToString()); 
    } 
} 

आप आसानी से कार्यक्रम स्वरूपण बदलने के लिए संशोधित कर सकते हैं GUID का, इसे क्लिपबोर्ड पर कॉपी करें या जो भी आपकी आवश्यकता के अनुरूप हो।

+0

खैर मुझे यकीन है कि वे एक ही एल्गोरिथ्म का उपयोग GUID उत्पन्न करने के लिए करने की आवश्यकता है , और चूंकि मोनो आधिकारिक तौर पर एमएस नहीं है, इसलिए मुझे नहीं पता कि वे एक ही एल्गोरिदम का उपयोग करते हैं, क्या आपके पास इस बारे में कोई चश्मा है? –

+0

मोनो शायद एक अलग कार्यान्वयन का उपयोग कर सकता है लेकिन आप विंडोज और यूनिक्स/लिनक्स दोनों पर मोनो का उपयोग करके टूल चला सकते हैं। सिर्फ इसलिए कि मैं उत्सुक हूं: आपको दोनों प्लेटफार्मों पर एक ही एल्गोरिदम की आवश्यकता क्यों है? GUID अभी भी अद्वितीय होगा क्योंकि GUID में एक फ़ील्ड उपयोग किए गए एल्गोरिदम निर्दिष्ट करता है। –

+2

एक GUID का पूरा विचार यह है कि यह वैश्विक रूप से अद्वितीय है यदि एल्गोरिदम और यादृच्छिक संख्या जेनरेटर बराबर हैं। मुझे लगता है कि आप GUID उत्पन्न करने वाले विभिन्न एल्गोरिदम के साथ सुरक्षित रहेंगे। – Wedge

0

ऐसा करने के लिए online apps के बहुत सारे हैं।

यदि आप PHP का उपयोग कर रहे हैं, तो आप uniqid फ़ंक्शन का उपयोग कर सकते हैं।

मुझे http://jug.safehaus.org/ पर ऐसा करने के लिए एक शुद्ध जावा प्रोग्राम मिला। यह कहीं भी काम करना चाहिए आप जावा स्थापित कर सकते हैं।

2

कुछ उपयोगी पता करने के लिए:

सी # में Guid.ToByteArray() और एसक्यूएल सर्वर GUID प्रकार की बाइट क्रम है:

 { 3, 2, 1, 0, 5, 4, 7, 6, 8, 9, 10, 11, 12, 13, 14, 15 }; 

एक ओरेकल GUID SYS_GUID (उपयोग कर बनाई गई) और के रूप में जमा रॉ [16] का आदेश दिया जाता है:

 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; 

आप इस online GUID converter काम मिल सकता है। मुझे यकीन नहीं है कि स्रोत आपके उपयोग के लिए उपलब्ध है, लेकिन इसे समझना बहुत कठिन नहीं होना चाहिए।

+0

अंतर्निहित बाइट ऑर्डर के बावजूद स्ट्रिंग प्रस्तुति समान नहीं होनी चाहिए? – Joey

+0

हां, लेकिन अगर आपको कभी भी बाइट ऑर्डर में GUID से निपटना है तो यह एक आसान टिप है। – crb

0

विंडोज एक्सपी में, आप कमांड विंडो में निम्न का उपयोग कर सकते हैं।

uuidgen.exe 
+1

'uuidgen' विंडोज़ में बॉक्स के बाहर उपलब्ध नहीं है; यह प्लेटफार्म एसडीके/विंडोज एसडीके का हिस्सा है। – Helen

29

'e2fsprogs' परियोजना को बनाए रखने के uuidgen उपयोगिता।

http://e2fsprogs.sourceforge.net/

यह पहले से ही किसी भी लिनक्स/बीएसडी * distros पर उपलब्ध है।

विंडोज के लिए मैं सिग्विन, 'e2fsprogs' पैकेज को वहां से स्थापित करने की सलाह देता हूं!

रिपोर्ट के रूप में j4y यह उपयोगिता मैक ओएस के तहत उपलब्ध है।

बस चलाने:

 
    $ uuidgen -r # random based UUID/GUID 
    $ uuidgen -t # time based UUID/GUID 
+5

ओएसएक्स शेर पर भी काम करता है, लेकिन पैरामीटर के बिना। – j4y

+0

@ j4y। जानकारी के लिए धन्यवाद! – gavenkoa

+1

सिगविन पैकेज "यूटिल-लिनक्स" है [पैकेज लिस्टिंग] (http://www.cygwin.com/cgi-bin2/package-cat.cgi?file=x86%2 फ़ुटिल-linux%2Futil-linux-2.21.2- 1 और grep = uuidgen) कमांड साइगविन में पैरामीटर के बिना भी काम करेगा। –