Помощь с HashID в Swift. Мои строки хеш-кода не декодируются должным образом. Когда я использую правильную строку, я получаю верный идентификатор обратно. Но скажем, у меня есть строка gTyU719A. Я получаю одно и то же число взамен, даже если я меняю последний символ, а иногда я получаю другое число. Я не могу разобраться с этим. Я искал в Интернете, а также спросил разработчиков. У кого-нибудь была похожая проблема? Я проверил, чтобы убедиться, что регистр символов поддерживается при передаче его функции декодирования.
Тот же алгоритм работает хорошо в Android, и я никогда не получаю избыточные идентификаторы, если строка не правильно, что так и должно быть.
func getHashFromID (id : Int) -> String{
let hashids = Hashids(salt:mHashSalt,minHashLength: 8)
let hash : String = hashids.encode(id) ?? ""
return hash
}
func getIDFromHash (mHash : String) -> Int{
let hashids = Hashids(salt:mHashSalt, minHashLength: 8)
let numbers = hashids.decode( mHash )
print (String(format: "Decoding %@ - %d - %d - count - %d", mHash, numbers, numbers[0], numbers.count))
if (numbers.count>0){
return numbers[0]
}
return -1
}
Спасибо за внимание.