Décryptage XOR en Golang : Vous comprenez ?
Introduction :
Il existe une technologie de cryptage et de décryptage couramment utilisée dans le langage de programmation Golang, qui utilise le symbole XOR (^) pour effectuer des opérations de cryptage et de décryptage simples. Cette technologie peut jouer un rôle important dans certains scénarios simples d’exigences de chiffrement, et elle peut également nous aider à mieux comprendre les principes et les applications des opérations XOR. Cet article présentera le décryptage XOR dans Golang et le démontrera à travers des exemples de code spécifiques.
1. Principe de l'opération XOR
L'opération OU exclusif (XOR) est une opération sur bits courante dans les ordinateurs. Ses règles de fonctionnement sont les suivantes :
Une caractéristique importante de l'opération XOR est que si deux opérations XOR consécutives sont effectuées sur le même opérande, le résultat sera égal à l'opérande lui-même.
2. Exemple de décryptage XOR dans Golang
Ce qui suit est un exemple de code qui montre comment utiliser XOR pour effectuer des opérations simples de cryptage et de décryptage :
package main import ( "fmt" ) func encrypt(plaintext string, key rune) string { ciphertext := make([]byte, len(plaintext)) for i, c := range plaintext { ciphertext[i] = byte(c) ^ byte(key) } return string(ciphertext) } func decrypt(ciphertext string, key rune) string { plaintext := make([]byte, len(ciphertext)) for i, c := range ciphertext { plaintext[i] = byte(c) ^ byte(key) } return string(plaintext) } func main() { plaintext := "Hello, XOR!" key := 'K' // 使用单个字符作为加密/解密的密钥 // 加密 ciphertext := encrypt(plaintext, key) fmt.Println("加密后的结果:", ciphertext) // 解密 decryptedText := decrypt(ciphertext, key) fmt.Println("解密后的结果:", decryptedText) }
Dans le code ci-dessus, la fonction encrypt
est utilisée. pour chiffrer le texte en clair et accepte deux paramètres : la chaîne de texte en clair et la clé (représentée par le type de rune). Dans la fonction encrypt
, utilisez le symbole XOR ^ pour crypter chaque caractère, enregistrez les caractères cryptés dans la tranche ciphertext
et enfin renvoyez le résultat du cryptage via la conversion. encrypt
函数用于加密明文,接受两个参数:明文字符串和密钥(以rune类型表示)。在encrypt
函数内部,使用异或符^对每个字符进行加密操作,将加密后的字符保存在ciphertext
切片中,并最终通过转换返回加密结果。
decrypt
函数用于解密密文,与encrypt
函数类似,同样接受两个参数:密文字符串和密钥。在decrypt
函数内部,使用异或符^对每个字符进行解密操作,将解密后的字符保存在plaintext
切片中,并最终通过转换返回解密结果。
在main
函数中,我们定义了一个明文字符串和一个密钥字符。首先调用encrypt
函数对明文进行加密得到密文,并打印出来。接着使用decrypt
decrypt
est utilisée pour déchiffrer le texte chiffré. Elle est similaire à la fonction encrypt
et accepte également deux paramètres : la chaîne de texte chiffré et la clé. Dans la fonction decrypt
, utilisez l'opérateur XOR ^ pour déchiffrer chaque caractère, enregistrez les caractères déchiffrés dans la tranche plaintext
et enfin renvoyez le résultat déchiffré via la conversion. Dans la fonction main
, nous définissons une chaîne de texte en clair et un caractère clé. Tout d’abord, appelez la fonction encrypt
pour crypter le texte brut afin d’obtenir le texte chiffré et imprimez-le. Utilisez ensuite la fonction decrypt
pour déchiffrer le texte chiffré afin d'obtenir le texte en clair, et imprimez-le également. Exécutez le code ci-dessus, nous pouvons obtenir le résultat suivant : 加密后的结果: "÷ÁªÊÅÁP" 解密后的结果: "Hello, XOR!"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!