Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah anda menjana cincang SHA untuk rentetan tertentu dalam Golang?

Bagaimanakah anda menjana cincang SHA untuk rentetan tertentu dalam Golang?

DDD
DDDasal
2024-11-19 21:07:02934semak imbas

How do you generate a SHA hash for a given string in Golang?

Menjana Hash SHA untuk Rentetan Diberi di Golang

Salah satu operasi kriptografi yang paling biasa dilakukan dengan rentetan ialah mengira cincang SHA mereka. Algoritma SHA (Secure Hash Algorithm) menjana cap jari yang unik dengan mengambil rentetan sebagai input. Di Golang, mencipta cincang SHA ialah proses yang mudah.

Contoh Penggunaan

Sebagai contoh, mari kita mengira cincang SHA rentetan "cantik." Coretan kod berikut menyediakan contoh praktikal:

import (
    "crypto/sha1"
    "encoding/base64"
)

func main() {
    myPassword := "beautiful"

    hasher := sha1.New()
    hasher.Write([]byte(myPassword))
    sha := base64.URLEncoding.EncodeToString(hasher.Sum(nil))

    println(sha)
}

Kod ini menunjukkan:

  • Mengekod rentetan "cantik" ke dalam tatasusunan bait menggunakan []bait(myPassword)
  • Mencipta pencincang SHA1 baharu menggunakan sha1.New()
  • Menggunakan pencincang.Write() untuk menyuap rentetan kepada pencincang
  • Mendapatkan bait mentah cincang menggunakan pencincang. Sum(nil)
  • Secara pilihan, pengekodan bait cincang dalam base64 untuk kebolehbacaan manusia menggunakan base64.URLEncoding.EncodeToString()

Pembolehubah sha yang terhasil mengandungi cincang SHA yang dikodkan base64 bagi rentetan asal, yang boleh dipaparkan atau dibandingkan dengan mudah.

Atas ialah kandungan terperinci Bagaimanakah anda menjana cincang SHA untuk rentetan tertentu dalam Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn