reprogl

Форк
0
/
encoder.go 
25 строк · 393.0 Байт
1
package security
2

3
import (
4
	"crypto/sha512"
5
	"fmt"
6
)
7

8
const iterations = 3600
9

10
func EncodePassword(password string, salt string) string {
11
	salted := []byte(password + "{" + salt + "}")
12
	h := sha512.New384()
13

14
	h.Write(salted)
15
	digest := h.Sum(nil)
16

17
	for i := 1; i < iterations; i++ {
18
		h.Reset()
19
		h.Write(digest)
20
		h.Write(salted)
21
		digest = h.Sum(nil)
22
	}
23

24
	return fmt.Sprintf("%x", digest)
25
}
26

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.