Как пользоваться хешами в go?(crypto)
Мне нужно 2 хеш функции, одна чтоб захешировать поролль, другая чтоб захешировать ключ сессии, обе должны выдавать 32 байтная хеш, подскажить как это сделать, не могу понять как пользоватсья пакетом крипто.
Ответы (1 шт):
Автор решения: Zhukov Roman
→ Ссылка
А зачем 2 функции, если можно использовать одну, но с разной солью? hash отдаёт байтовый слайс с размером 32 используя хэширующий алгоритм SHA256.
package main
import (
"crypto/sha256"
"fmt"
)
func hash(value, salt string) [32]byte {
var s = append([]byte(value), []byte(salt)...)
return sha256.Sum256(s)
}
func main() {
fmt.Printf("%x\n", hash("hello world", "salt-one"))
fmt.Printf("%x\n", hash("hello world", "salt-two"))
}