SHA256 hash တွေကို binary သို့မဟုတ် စာသား blob တွေအတွက် တိုတောင်းတဲ့ identity တွေ တွက်ချက်ဖို့ မကြာခဏ အသုံးပြုကြပါတယ်။ ဥပမာ၊ TLS/SSL လက်မှတ်တွေက SHA256 ကို လက်မှတ်တစ်ခုရဲ့ လက်မှတ်ထိုးချက်ကို တွက်ချက်ဖို့ သုံးပါတယ်။ Go မှာ SHA256 hash တွေကို ဘယ်လို တွက်ချက်မလဲဆိုတာ ဒီမှာရှင်းပြပါမယ်။ |
|
package main |
|
Go က hash function အမျိုးမျိုးကို |
import ( "crypto/sha256" "fmt" ) |
func main() { s := "sha256 this string" |
|
ဒီမှာ ကျွန်တော်တို့က hash အသစ်တစ်ခုနဲ့ စပါတယ်။ |
h := sha256.New() |
|
h.Write([]byte(s)) |
ဒါက နောက်ဆုံးရလဒ်ဖြစ်တဲ့ hash ကို byte slice အဖြစ် ရယူပါတယ်။
|
bs := h.Sum(nil) |
fmt.Println(s) fmt.Printf("%x\n", bs) } |
ပရိုဂရမ်ကို run လိုက်တာက hash ကို တွက်ချက်ပြီး လူဖတ်လို့ရတဲ့ hex ပုံစံနဲ့ ပရင့်ထုတ်ပါတယ်။ |
$ go run sha256-hashes.go sha256 this string 1af1dfa857bf1d8814fe1af8983c18080019922e557f15a8a... |
အထက်မှာပြထားတဲ့ ပုံစံနဲ့ ဆင်တူတဲ့ပုံစံကို
သုံးပြီး တခြား hash တွေကိုလည်း တွက်ချက်နိုင်ပါတယ်။
ဥပမာ၊ SHA512 hash တွေ တွက်ချက်ဖို့
|
|
သတိပြုရမှာက cryptographically လုံခြုံတဲ့ hash တွေ လိုအပ်ရင် သင့်အနေနဲ့ hash အင်အား အကြောင်းကို သေချာစွာ သုတေသနပြုလုပ်သင့်ပါတယ်! |
နောက်ဥပမာ: Base64 Encoding.