Entonces, verá, este método es una forma de cifrar datos para que sean seguros y no puedan ser leídos por personas que no tienen la clave de descifrado. Imagínense, amigos, que tienen un diario que cierran con un candado. Solo las personas que tengan la clave podrán abrir y leer tus diarios.
El cifrado simétrico es como amigos y amigos, qué es esto, jajaja, el punto es que es como tener la misma llave para abrir la cerradura. Esta clave se utiliza para cifrar (bloquear) y descifrar (desbloquear) datos. Por lo tanto, tanto amigos como amigos pueden bloquear y desbloquear los mismos datos siempre que tengas la clave.
La firma aquí no es una firma física, sino una firma digital. Esta firma garantiza que los datos enviados sean realmente de amigos y que nadie haya cambiado los datos a mitad de camino. Entonces, amigos, pueden estar seguros de que los datos que reciben son genuinos de la fuente y no han sido manipulados.
Ahora veamos cómo usar este método en Golang.
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)Firma 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) }Por lo tanto, el método de firma de cifrado simétrico estándar es importante para mantener la seguridad y la integridad de sus datos. Con el cifrado simétrico, puede cifrar sus datos para hacerlos seguros y, con una firma, puede asegurarse de que los datos que recibe o envía son genuinos y no han sido manipulados. Por lo tanto, asegúrese de que sus amigos utilicen este método para todo tipo de necesidades que requieran alta seguridad.
Fuente:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3