Go بالأمثلة: تجزئة SHA256

تُستخدم تجزئات SHA256 غالباً لحساب المعرفات القصيرة للكتل الكبيرة من البيانات. على سبيل المثال، تستخدم شهادات TLS الـ SHA256 لحساب بصمات الشهادات. إليك كيفية حساب تجزئات SHA256 في Go.

package main

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    s := "sha256 this string"

لإنشاء تجزئة جديدة، ابدأ بـ sha256.New().

    h := sha256.New()

تستخدم Write البايتات. إذا كان لديك نص، استخدم []byte(s) لتحويله.

    h.Write([]byte(s))

Sum تحسب النتيجة النهائية للتجزئة. المعامل الممر لـ Sum يمكن استخدامه لإضافة بايتات إلى التجزئة الموجودة؛ عادةً ما لا يتم استخدامه.

    bs := h.Sum(nil)

    fmt.Println(s)
    fmt.Printf("%x\n", bs)
}

يمكنك اتباع نمط مماثل لحساب التجزئات الأخرى، مثل SHA512 أو MD5.

تشغيل البرنامج:

$ go run sha256-hashes.go
sha256 this string
1af12b694294a557876e5d22223c68388484f9373976378411c850284422e84d

المثال التالي: ترميز Base64.