Hash fait référence à une méthode de mappage d'une chaîne binaire de longueur arbitraire en une chaîne binaire de longueur fixe. La règle de mappage est l'algorithme de hachage, également connu sous le nom d'algorithme de hachage. Les algorithmes de hachage sont souvent utilisés dans des applications telles que le cryptage, la vérification de l'intégrité des données et la recherche de tables de hachage.
Le langage Go (golang) fournit le package de hachage dans la bibliothèque standard, qui permet l'implémentation d'une variété d'algorithmes de hachage, notamment les suivants :
package main import ( "crypto/md5" "fmt" ) func main() { data := []byte("example data") hash := md5.Sum(data) fmt.Printf("%x", hash) }
#
7f808d6e58805c6bbfd1eb6b2f06991a
package main import ( "crypto/sha1" "fmt" ) func main() { data := []byte("example data") hash := sha1.Sum(data) fmt.Printf("%x", hash) }
ee5a3dd464a36f28cd1f2ff8405348d7a48112d6
SHA256
#🎜🎜 ## 🎜🎜#SHA256 (Secure Hash Algorithm 256, Secure Hash Algorithm 256th Edition) est un algorithme de hachage plus sécurisé. Son résultat de sortie est une chaîne binaire de 256 bits, généralement représentée par un nombre hexadécimal de 64 bits. Dans Golang, vous pouvez obtenir un objet de hachage sha256 via la méthode sha256.New() dans le package de hachage et utiliser la méthode Write pour écrire les données à hacher dans l'objet de hachage. Enfin, la valeur de hachage calculée peut être obtenue via la méthode Sum.package main import ( "crypto/sha256" "fmt" ) func main() { data := []byte("example data") hash := sha256.Sum256(data) fmt.Printf("%x", hash) }
9b64dd6a22a2d1f2850835a089a58fbd572d8399f22b97d73a5e7dd2c2ae9307
SHA512
#🎜🎜 ## 🎜🎜#SHA512 (Secure Hash Algorithm 512, Secure Hash Algorithm 512th Edition) est l'un des algorithmes de hachage les plus sécurisés. Son résultat de sortie est une chaîne binaire de 512 bits, généralement représentée par un nombre hexadécimal de 128 bits. Dans Golang, vous pouvez obtenir un objet de hachage sha512 via la méthode sha512.New() dans le package de hachage et utiliser la méthode Write pour écrire les données à hacher dans l'objet de hachage. Enfin, la valeur de hachage calculée peut être obtenue via la méthode Sum. Ce qui suit est un exemple de code :package main import ( "crypto/sha512" "fmt" ) func main() { data := []byte("example data") hash := sha512.Sum512(data) fmt.Printf("%x", hash) }
22a0c871d16be5f7dafa984087bfe0e0694fcc9a0daeff1f76fcd50445ce40ba7a45dbb13a3d0bba593bf813c368b4c14354faf7ea5718c2907f93bffb2c1253
CRC32
#🎜🎜 ## 🎜🎜#CRC32 (Cyclic Redundancy Check 32, cyclic redundancy check 32 bits) est un algorithme de somme de contrôle utilisé pour vérifier l'intégrité des données. Le résultat de sortie est une chaîne binaire de 32 bits, généralement représentée par un nombre hexadécimal à 8 chiffres. Dans Golang, vous pouvez obtenir un objet de hachage crc32 via la méthode crc32.NewIEEE() dans le package de hachage et utiliser la méthode Write pour écrire les données à hacher dans l'objet de hachage. Enfin, la valeur de hachage calculée peut être obtenue via la méthode Sum. Voici un exemple de code :package main import ( "fmt" "hash/crc32" ) func main() { data := []byte("example data") hash := crc32.ChecksumIEEE(data) fmt.Printf("%x", hash) }
f1ade6eb
package main import ( "fmt" "hash/adler32" ) func main() { data := []byte("example data") hash := adler32.Checksum(data) fmt.Printf("%x", hash) }
142113ca
package main import ( "fmt" "golang.org/x/crypto/blake2b" ) func main() { data := []byte("example data") hash256 := blake2b.Sum256(data) hash384 := blake2b.Sum384(data) hash512 := blake2b.Sum512(data) fmt.Printf("%x %x %x", hash256, hash384, hash512) }
#🎜🎜 ## 🎜🎜#SHA3 (Secure Hash Algorithm 3, Secure Hash Algorithm 3) est un autre algorithme de hachage plus récent. La longueur de son résultat de sortie peut être personnalisée. Les plus courants sont de 256 bits et 512 bits. Dans Golang, vous pouvez obtenir un objet de hachage sha3 de longueur correspondante via les méthodes sha3.New256() et sha3.New512() dans le package de hachage, et utiliser la méthode Write pour écrire les données à hacher dans l'objet de hachage. Enfin, la valeur de hachage calculée peut être obtenue via la méthode Sum.
Ce qui suit est un exemple de code :
d852969b47e35f938f9f0ca05f2d3ca9f965b085e6c35d4ec5dbd6d2df4475d9 75bdbe670d92c40a2e62c753bd241f3181f191a5c70fd715d8a5e341a45b607e0f0c342c1df2b4ecb103d1dee066ef2d 8f87a4e71bde7c58c9ecc1c2c8d7bb93805d378854a496b13a5bbdaf01c138bdd01fe265ff0550c7219362918f451422c8aa738f4a0517a8d4416b7c2653c403
package main import ( "fmt" "golang.org/x/crypto/sha3" ) func main() { data := []byte("example data") hash256 := sha3.Sum256(data) hash512 := sha3.Sum512(data) fmt.Printf("%x %x", hash256, hash512) }
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!