보시다시피 이 방법은 데이터를 암호화하여 해독 키가 없는 사람이 읽을 수 없도록 안전하게 데이터를 암호화하는 방법입니다. 친구 여러분, 자물쇠로 잠그는 일기장이 있다고 상상해보세요. 열쇠를 가진 사람만이 당신의 일기를 열어볼 수 있습니다.
대칭 암호화는 마치 친구와 친구와도 같습니다. 이게 뭐죠, 하하하, 요점은 자물쇠를 여는 데 같은 열쇠를 갖는 것과 같다는 것입니다. 이 키는 데이터 암호화(잠금) 및 암호 해독(잠금 해제)에 사용됩니다. 따라서 열쇠가 있는 한 친구와 친구 모두 동일한 데이터를 잠그거나 잠금 해제할 수 있습니다.
여기서 서명은 실제 서명이 아니라 디지털 서명입니다. 이 서명은 전송된 데이터가 실제로 친구로부터 온 것이며 누구도 중간에 데이터를 변경하지 않았음을 보장합니다. 따라서 친구 여러분, 귀하가 받은 데이터는 원본에서 나온 것이며 변조되지 않았음을 확신할 수 있습니다.
이제 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)시그니처 골랑
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) }따라서 표준 대칭 암호화 서명 방법은 데이터의 보안과 무결성을 유지하는 데 중요합니다. 대칭 암호화를 사용하면 데이터를 암호화하여 안전하게 보호할 수 있으며, 서명을 사용하면 수신하거나 보내는 데이터가 변조되지 않았는지 진짜인지 확인할 수 있습니다. 따라서 친구들이 높은 보안이 필요한 모든 종류의 요구 사항에 이 방법을 사용하도록 하세요.
원천:
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3