В Go, я пытаюсь смешать IP-адрес с именем пользователя для вывода какой-то сжатой уникальной строки.Go - Как объединить несколько строк для вывода уникальной «сжатой» строки?
Например:"MyUsername" + "192.354.32.245" = "JDU7DNd"
В Go, я пытаюсь смешать IP-адрес с именем пользователя для вывода какой-то сжатой уникальной строки.Go - Как объединить несколько строк для вывода уникальной «сжатой» строки?
Например:"MyUsername" + "192.354.32.245" = "JDU7DNd"
A UUID могут быть сгенерированы для каждого пользователя, который будет генерировать случайные 128-битное значение.
Однако для статического вывода я написал функцию, которая будет хешировать и суммировать несколько строк, которые выдадут уникальное значение.
func Combine(string ...string) uint32 {
h := fnv.New32a()
for _, a := range string {
h.Write([]byte(a))
}
return h.Sum32()
}
https://play.golang.org/p/W_6GUTRJ6b
Авторы: Martin Gallagher (FNV), nevets (UUID).
Создайте экземпляр fnv вне цикла и напишите() внутри цикла, затем верните h.Sum32() - https://play.golang.org/p/W_6GUTRJ6b –
Спасибо, он был обновлен. – Acidic
У вас есть коэффициент сжатия в виду? – nevets
Какую проблему вы пытаетесь решить? – jcbwlkr
Попробуйте создать хэш с помощью FNV и закодируйте его через base32. –