package
1.0.0
Repository: https://github.com/leprosus/golang-crypto.git
Documentation: pkg.go.dev

# README

Salt

Соль - последовательность данных, передаваемая в хеш-функцию вместе с входным данными для вычисления хэша для предотвращения декодирования информации методом перебора.

Используется для усложнения определения прообраза хэш-функции методом перебора по словарю возможных входных значений, включая атаки с использованием радужных таблиц. Позволяет скрыть факт использования одинаковых прообразов при использовании для них разной соли. Различают статическую соль (одна и та же для всех входных значений) и динамическую (генерируется для каждого входного значения персонально).

Функции пакета

func GenerateSalt(saltSize int) (s Salt, err error)

Функция генерирует соль требуемой длины.

Пример использования

func main() {
	salt, err := GenerateSalt(6)
	if err != nil {
	    panic(err)	
    }
	
    const secret = "secret text"

    hashFn := sha512.New()
    hashFn.Write(secret)
	
    hash := hashFn.Sum(nil)
    hashStr := hex.EncodeToString(hash)
	
    fmt.Println(hashStr)
}