26 lines
685 B
Go
26 lines
685 B
Go
package utils
|
||
|
||
import (
|
||
"crypto/sha256"
|
||
"encoding/hex"
|
||
)
|
||
|
||
/**
|
||
* @brief Вычислить SHA-256 хеш пароля
|
||
* @param password Строка с паролем
|
||
* @return Хеш в виде строки HEX
|
||
*/
|
||
func HashPassword(password string) string {
|
||
hash := sha256.Sum256([]byte(password))
|
||
return hex.EncodeToString(hash[:])
|
||
}
|
||
|
||
/**
|
||
* @brief Проверить совпадение пароля и хеша
|
||
* @param password Введённый пароль
|
||
* @param hash Хеш пароля из БД
|
||
* @return true если совпадает
|
||
*/
|
||
func CheckPassword(password, hash string) bool {
|
||
return HashPassword(password) == hash
|
||
}
|