एक सॉफ्टवेयर डेवलपर के रूप में, मैं हमेशा सुरक्षा और प्रयोज्य के अंतर्संबंध से आकर्षित रहा हूं। हाल ही में, मैंने एक रोमांचक प्रोजेक्ट शुरू करने का फैसला किया: गो का उपयोग करके एक कमांड-लाइन पासवर्ड मैनेजर बनाना। मैं इस यात्रा की शुरुआत आपके साथ साझा करना चाहता हूं, पहली प्रतिबद्धता से शुरू करते हुए।
27 नवंबर, 2023 को, मैंने अपने प्रोजेक्ट के लिए प्रारंभिक प्रतिबद्धता बनाई, जिसे मैंने "दोस्त" नाम दिया है (हिंदी में दोस्त, पासवर्ड प्रबंधन के लिए सहायक साथी के रूप में इसकी भूमिका को दर्शाता है)। यह पहला कदम, हालांकि छोटा है, मुझे आशा है कि यह एक मजबूत और उपयोगकर्ता के अनुकूल उपकरण बन जाएगा।
इस परियोजना को शुरू करते समय, मैंने लोकप्रिय कमांड-लाइन पासवर्ड मैनेजर पास से प्रेरणा ली। पास की सरलता और प्रभावशीलता ने मेरा ध्यान खींचा, और मैंने गो में अपना पासवर्ड मैनेजर बनाने के लिए ब्लूप्रिंट के रूप में इसके एपीआई का उपयोग करने का निर्णय लिया।
पास के स्रोत कोड में गोता लगाना एक आंखें खोलने वाला अनुभव था। मैं यह जानकर उत्सुक था कि इस व्यापक रूप से उपयोग किए जाने वाले टूल की संपूर्ण कार्यक्षमता एक व्यापक बैश स्क्रिप्ट में समाहित है। यह शानदार सादगी एक ऐसी चीज़ है जिसकी मैं प्रशंसा करता हूँ और आशा करता हूँ कि गो की शक्तियों का उपयोग करते हुए भी मैं इसे अपने प्रोजेक्ट में अनुकरण कर सकूंगा।
पास की पढ़ाई करके, मैंने कमांड-लाइन पासवर्ड मैनेजर की आवश्यक विशेषताओं और इसके द्वारा प्रदान किए जाने वाले उपयोगकर्ता अनुभव के बारे में बहुमूल्य अंतर्दृष्टि प्राप्त की है। जैसे-जैसे मैं "दोस्त" विकसित करना जारी रखूंगा, मैं इन पाठों को ध्यान में रखूंगा, मेरा लक्ष्य एक ऐसा टूल बनाना है जो पास की सादगी को गो के प्रदर्शन और क्रॉस-प्लेटफ़ॉर्म संगतता लाभों के साथ जोड़ता है।
इस अन्वेषण ने न केवल सुविधाओं को लागू करने के लिए एक रोडमैप प्रदान किया है, बल्कि अच्छी तरह से तैयार किए गए, केंद्रित उपकरणों की शक्ति में मेरे विश्वास को भी मजबूत किया है। मैं यह देखने के लिए उत्साहित हूं कि यह प्रेरणा विकास के आने वाले चरणों में "दोस्त" के विकास को कैसे आकार देगी।
प्रारंभिक प्रतिबद्धता दो मुख्य कार्यात्मकताओं पर केंद्रित थी:
पासवर्ड जनरेशन: मैंने एक बुनियादी पासवर्ड जनरेटर लागू किया है जो उपयोगकर्ताओं को उनकी वांछित पासवर्ड लंबाई निर्दिष्ट करने की अनुमति देता है। इस सुविधा का लक्ष्य विभिन्न सुरक्षा आवश्यकताओं के अनुरूप मजबूत, यादृच्छिक पासवर्ड बनाना है।
क्लिपबोर्ड एकीकरण: उपयोगकर्ता अनुभव को बढ़ाने के लिए, मैंने सुनिश्चित किया कि जेनरेट किया गया पासवर्ड स्वचालित रूप से क्लिपबोर्ड पर कॉपी हो जाए। यह छोटी लेकिन महत्वपूर्ण सुविधा समय बचाती है और प्रतिलेखन त्रुटियों के जोखिम को कम करती है।
आइए इस पहले पुनरावृत्ति के कुछ तकनीकी पहलुओं पर गौर करें:
आइए कार्यान्वयन के कुछ प्रमुख भागों पर नजर डालें:
func generatePassword(length int) (string, error) { const ( uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" lowercaseLetters = "abcdefghijklmnopqrstuvwxyz" digits = "0123456789" specialChars = "!@#$%^&*()-_= []{}|;:'\",./?" ) allChars := uppercaseLetters lowercaseLetters digits specialChars var password string for i := 0; iयह फ़ंक्शन अपरकेस, लोअरकेस, अंकों और विशेष वर्णों का मिश्रण सुनिश्चित करते हुए, पूर्वनिर्धारित सेट से यादृच्छिक रूप से वर्णों का चयन करके एक पासवर्ड बनाता है।
- क्लिपबोर्ड एकीकरण:
func writeToClipboard(text string) error { return clipboard.WriteAll(text) }यह सरल फ़ंक्शन सिस्टम क्लिपबोर्ड पर जेनरेट किया गया पासवर्ड लिखने के लिए क्लिपबोर्ड पैकेज का उपयोग करता है।
- मुख्य समारोह:
func main() { passwordLength := flag.Int("length", 12, "length of your password") flag.Parse() password, err1 := generatePassword(*passwordLength) if err1 != nil { fmt.Println("Error generating password:", err1) return } fmt.Println("Generated Password:", password) err2 := writeToClipboard(password) if err2 != nil { fmt.Println("Error writing to clipboard:", err2) os.Exit(1) } fmt.Println("Copied to clipboard! ✅\n") }मुख्य कार्य सब कुछ एक साथ जोड़ता है। यह उपयोगकर्ताओं को पासवर्ड की लंबाई निर्दिष्ट करने, पासवर्ड उत्पन्न करने और इसे क्लिपबोर्ड पर कॉपी करने की अनुमति देने के लिए गो के ध्वज पैकेज का उपयोग करता है।
कमांड-लाइन इंटरफ़ेस
जैसा कि आप मुख्य फ़ंक्शन में देख सकते हैं, मैंने गो के फ़्लैग पैकेज का उपयोग करके एक सरल सीएलआई लागू किया है। उपयोगकर्ता -लेंथ फ़्लैग का उपयोग करके वांछित पासवर्ड लंबाई निर्दिष्ट कर सकते हैं, यदि निर्दिष्ट नहीं है तो डिफ़ॉल्ट 12 अक्षर हैं।
आगे देख रहा
यह पहली प्रतिबद्धता तो बस शुरुआत है। जैसे-जैसे मैं इस पासवर्ड मैनेजर को विकसित करना जारी रखता हूं, मेरी योजना इस तरह की सुविधाएं जोड़ने की है:
मैं आगे की यात्रा और उसमें आने वाली चुनौतियों को लेकर उत्साहित हूं। पासवर्ड मैनेजर बनाना केवल कोडिंग के बारे में नहीं है; यह सुरक्षा सिद्धांतों, उपयोगकर्ता की ज़रूरतों को समझने और एक ऐसा उपकरण बनाने के बारे में है जिस पर लोग अपनी संवेदनशील जानकारी के लिए भरोसा कर सकें।
इस परियोजना के विकसित होने पर अधिक अपडेट के लिए बने रहें। मैं इस दौरान अपनी प्रगति, चुनौतियाँ और सीख साझा करता रहूँगा। यदि आप अनुसरण करने या योगदान देने में रुचि रखते हैं, तो बेझिझक GitHub पर प्रोजेक्ट देखें।
dost एक CLI पासवर्ड मैनेजर है जो Go में लिखा गया है।
(पास) से प्रेरित[https://www.passwordstore.org/]
> go build -o dost main.go
पासवर्ड जनरेट करना:
> ./dost generate email/[email protected] Generated Password: );XE,7-Dv?)Aa &
निर्दिष्ट लंबाई के साथ पासवर्ड बनाना (डिफ़ॉल्ट 25 है):
> ./dost generate email/[email protected] 12 Generated Password: si
जनरेटेड पासवर्ड को बिना प्रिंट किए क्लिपबोर्ड पर कॉपी करें:
> ./dost generate -c email/[email protected] Copied to clipboard! ✅
पासवर्ड जनरेट करने के लिए प्रतीकों से बचें:
> ./dost generate -n email/[email protected] Generated Password: E2UST}^{Ac[Fb&D|cD%;Eij>H
एमआईटी
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3