У меня есть простая проблема, которую я не могу решить из-за моей нехватки знаний, и я не мог найти подсказки в Интернете.Создайте значение из списка чисел
Я хотел бы:
- Сформировать «значение 1» из списка числа (массив межд).
- Создайте «значение 2» из случайного числа.
- Затем проверьте наличие случайного числа в списке числа, сравнив значение «2» со значением «1».
Почему я хотел бы генерировать эти значения вместо простого поиска массива случайного числа в списке чисел?
Поскольку существует необходимость скрывать список номеров и быть в состоянии выполнить быструю проверку, просто сравнивая значения.
Я думал о методе «хэш», но не существует способа хеширования массива int.
Я также подумал о криптосистеме RSA, сгенерировал «закрытый ключ» из списка номеров и затем сгенерировал «лобковый ключ» из случайного числа. Но я не мог найти способ его реализовать.
Хотелось бы узнать, есть ли способ сделать то, что я хотел бы сделать?
Благодарим за помощь.
Пример:
сервер в PHP есть список числа. (Пример: [10, 20, 24, 6, 98])
Клиент в JS отправляет номер на сервер. (Пример: 8)
Затем
// [10, 20, 24, 6, 98] to hashed or key
$computedIntArray = HashedOrRsaEncrypted($ServerIntArray);
// 8 to hashed or key
$computedClientNumber = HashedOrRsaEncrypted($ClientNumber);
// return true if the clienthashedvalue is present in the serverIntArray
$trueOrFalse = IsPresentInArray($computedClientNumber, $computedIntArray);
Я думаю, вы поняли мой вопрос. Речь идет не о генерации случайного числа, а о генерации хэша или закрытого ключа или значения из списка чисел и делать то же самое для случайного числа (например, 5). Затем можно сравнить хэш или ключи (private/public) или значение, чтобы узнать, присутствует ли случайное число в списке номеров. – NoSkiiilL
справа, для тестирования, если номер уже используется, вы можете использовать либо объект как хэш-таблицу, либо набор. но где проблема? –
Я отредактировал мое сообщение и добавил пример. Я начинаю думать, что, возможно, вещь, которую я хотел бы сделать, невозможен.Извините, я не могу найти другой способ выразить себя, английский не мой родной язык. Спасибо, что помогли. – NoSkiiilL