"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मानक सममित एन्क्रिप्शन हस्ताक्षर विधि को लागू करें

मानक सममित एन्क्रिप्शन हस्ताक्षर विधि को लागू करें

2024-07-31 को प्रकाशित
ब्राउज़ करें:621

Image description

मानक सममित एन्क्रिप्शन हस्ताक्षर विधि क्या है?

तो, आप देखते हैं, यह विधि डेटा को एन्क्रिप्ट करने का एक तरीका है ताकि यह सुरक्षित रहे और उन लोगों द्वारा नहीं पढ़ा जा सके जिनके पास डिक्रिप्शन कुंजी नहीं है। जरा सोचिए दोस्तों, आपके पास एक डायरी है जिसे आप ताले से बंद कर देते हैं। केवल वे लोग ही आपकी डायरी खोल और पढ़ सकते हैं जिनके पास चाबी है।

सममित एन्क्रिप्शन

सममित एन्क्रिप्शन दोस्तों और दोस्तों की तरह है, यह क्या है, हाहाहा, मुद्दा यह है कि यह ताला खोलने के लिए एक ही कुंजी होने जैसा है। इस कुंजी का उपयोग डेटा को एन्क्रिप्शन (लॉक करना) और डिक्रिप्शन (अनलॉक करना) के लिए किया जाता है। इसलिए, जब तक आपके पास चाबी है, दोस्त और दोस्त दोनों एक ही डेटा को लॉक और अनलॉक कर सकते हैं।

हस्ताक्षर

यहां हस्ताक्षर भौतिक हस्ताक्षर नहीं है, बल्कि एक डिजिटल हस्ताक्षर है। यह हस्ताक्षर यह सुनिश्चित करता है कि भेजा गया डेटा वास्तव में दोस्तों का है और किसी ने भी डेटा को बीच में नहीं बदला है। तो, दोस्तों, आप निश्चिंत हो सकते हैं कि आपको प्राप्त होने वाला डेटा स्रोत से वास्तविक है और उसके साथ कोई छेड़छाड़ नहीं की गई है।

आपको इस पद्धति का उपयोग क्यों करना चाहिए?

  • डेटा सुरक्षा: निश्चित रूप से आप चाहते हैं कि आपका डेटा दुर्भावनापूर्ण हाथों से सुरक्षित रहे, है ना? सममित एन्क्रिप्शन के साथ, आपका डेटा एन्क्रिप्ट किया गया है और इसे केवल वही व्यक्ति खोल सकता है जिसके पास कुंजी है।
  • डेटा अखंडता: एक हस्ताक्षर के साथ, आप यह सुनिश्चित कर सकते हैं कि आपके द्वारा प्राप्त या भेजा गया डेटा वास्तविक है और उसके साथ छेड़छाड़ नहीं की गई है। तो, दोस्तों, आपको किसी के धोखा देने के बारे में चिंता करने की ज़रूरत नहीं है।
  • दक्षता: सममित एन्क्रिप्शन आमतौर पर असममित एन्क्रिप्शन से तेज़ होता है क्योंकि एन्क्रिप्शन और डिक्रिप्शन प्रक्रिया सरल होती है।

गोलांग में उपयोग का उदाहरण

अब आइए देखें कि गोलांग में इस विधि का उपयोग कैसे करें।

गोलांग में सममित एन्क्रिप्शन

package main

import (
    "crypto/aes"
    "crypto/cipher"
    "crypto/rand"
    "encoding/hex"
    "fmt"
    "io"
)

func encrypt(key, text []byte) (string, error) {
    block, err := aes.NewCipher(key)
    if err != nil {
        return "", err
    }

    ciphertext := make([]byte, aes.BlockSize len(text))
    iv := ciphertext[:aes.BlockSize]
    if _, err := io.ReadFull(rand.Reader, iv); err != nil {
        return "", err
    }

    stream := cipher.NewCFBEncrypter(block, iv)
    stream.XORKeyStream(ciphertext[aes.BlockSize:], text)

    return fmt.Sprintf("%x", ciphertext), nil
}

func decrypt(key []byte, cryptoText string) (string, error) {
    ciphertext, _ := hex.DecodeString(cryptoText)

    block, err := aes.NewCipher(key)
    if err != nil {
        return "", err
    }

    if len(ciphertext) 



हस्ताक्षर गोलांग

package main

import (
    "crypto/hmac"
    "crypto/sha256"
    "encoding/hex"
    "fmt"
)

func createHMAC(key, message []byte) string {
    mac := hmac.New(sha256.New, key)
    mac.Write(message)
    return hex.EncodeToString(mac.Sum(nil))
}

func verifyHMAC(key, message []byte, signature string) bool {
    expectedMAC := createHMAC(key, message)
    return hmac.Equal([]byte(expectedMAC), []byte(signature))
}

func main() {
    key := []byte("my-secret-key")
    message := []byte("important message")

    signature := createHMAC(key, message)
    fmt.Printf("Signature: %s\n", signature)

    isValid := verifyHMAC(key, message, signature)
    fmt.Printf("Is valid: %t\n", isValid)
}

इसलिए आपके डेटा की सुरक्षा और अखंडता बनाए रखने के लिए मानक सममित एन्क्रिप्शन हस्ताक्षर विधि महत्वपूर्ण है। सममित एन्क्रिप्शन के साथ, आप अपने डेटा को सुरक्षित बनाने के लिए एन्क्रिप्ट कर सकते हैं, और एक हस्ताक्षर के साथ, आप यह सुनिश्चित कर सकते हैं कि आपके द्वारा प्राप्त या भेजा गया डेटा वास्तविक है और उसके साथ छेड़छाड़ नहीं की गई है। इसलिए, सुनिश्चित करें कि मित्र इस पद्धति का उपयोग उन सभी प्रकार की आवश्यकताओं के लिए करें जिनके लिए उच्च सुरक्षा की आवश्यकता होती है।

स्रोत:

  • एचएमएसी गो
  • SHA256
विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/yogameleniawan/implementasi-metode-standard-symmetric-encryption-signature-pad-golang-2m5m?1 यदि कोई उल्लंघन है, तो कृपया हटाने के लिए स्टडी_गोलंग@163.com पर संपर्क करें। यह
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3