Sie sehen, diese Methode ist eine Möglichkeit, Daten so zu verschlüsseln, dass sie sicher sind und nicht von Personen gelesen werden können, die nicht über den Entschlüsselungsschlüssel verfügen. Stellen Sie sich vor, Freunde, Sie haben ein Tagebuch, das Sie mit einem Vorhängeschloss verschließen. Nur Personen, die den Schlüssel haben, können Ihre Tagebücher öffnen und lesen.
Symmetrische Verschlüsselung ist wie Freunde und Freunde, was ist das, hahaha, der Punkt ist, es ist, als hätte man den gleichen Schlüssel, um das Schloss zu öffnen. Dieser Schlüssel wird zum Verschlüsseln (Sperren) und Entschlüsseln (Entsperren) von Daten verwendet. So können sowohl Freunde als auch Freunde dieselben Daten sperren und entsperren, solange Sie den Schlüssel haben.
Die Signatur ist hier keine physische Signatur, sondern eine digitale Signatur. Diese Signatur stellt sicher, dass die gesendeten Daten tatsächlich von Freunden stammen und niemand die Daten auf halbem Weg geändert hat. Also, Freunde, Sie können sicher sein, dass die Daten, die Sie erhalten, echt sind und nicht manipuliert wurden.
Sehen wir uns nun an, wie diese Methode in Golang verwendet wird.
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)Signatur Golang
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) }Daher ist die standardmäßige symmetrische Verschlüsselungssignaturmethode wichtig für die Aufrechterhaltung der Sicherheit und Integrität Ihrer Daten. Mit der symmetrischen Verschlüsselung können Sie Ihre Daten verschlüsseln, um sie sicher zu machen, und mit einer Signatur können Sie sicherstellen, dass die Daten, die Sie empfangen oder senden, echt sind und nicht manipuliert wurden. Stellen Sie also sicher, dass Freunde diese Methode für alle Arten von Anforderungen verwenden, die hohe Sicherheit erfordern.
Quelle:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3