Как сделать проверку хеша? - MySQL

Узнай цену своей работы

Формулировка задачи:

Добрый день Подскажите пожалуйста как сделать проверку хеша. Есть такой хеш. Например 10010001111001.... всего 64 символа. они будут записываться в базу данных. строк будет много. тисяч 10. потом после определенного действия я получаю новый хеш. и мне его нужно сверить с теми что в базе. и вывести те что больше всего близки к нему. сравнение идет таким образом. число х=64 (так как хеш 64 символа). дальше первый символ хеша 1 сравниваем с первым символом хеша 2 --- и если не совпадение то х уменьшаем на 1 второй символ хеша 1 сравниваем с вторым символом хеша 2 --- и если не совпадение то х уменьшаем на 1 и т д ето так бы мы сравнивали на php. а как ето организовать в базе данных я не знаю. брать все подряд из нее и сверять навернека это будет долго

Решение задачи: «Как сделать проверку хеша?»

textual
Листинг программы
select 
(substring( `Hash` , 1 , 1 ) = 1 ) + 
(substring( `Hash` , 2 , 1 ) = 0) + 
(substring( `Hash` , N , 1 ) = 'N' ) 
as Coof
...
order by Coof desc

Объяснение кода листинга программы

В этом коде мы видим проверку хеша, представленную в виде SQL-запроса. Список шагов, описывающих, что происходит в коде, можно оформить в виде нумерованного списка с названиями и значениями переменных, заключенными в кавычки:

  1. Hash - это название переменной, которая содержит хеш, который нужно проверить.
  2. Coof - это название переменной, которая будет использоваться для обозначения результата проверки хеша.
  3. N - это значение, которое используется в запросе для обозначения позиции символа в хеше, начиная с 2-го символа. Теперь рассмотрим шаги запроса:
  4. (substring(Hash, 1 , 1 ) = 1) - это условие, которое проверяет, равен ли первый символ хеша 1.
  5. (substring(Hash, 2 , 1 ) = 0) - это условие, которое проверяет, равен ли второй символ хеша 0.
  6. (substring(Hash, N , 1 ) = 'N' ) - это условие, которое проверяет, равен ли символ хеша на позиции N символу 'N'. Все эти условия объединяются с помощью оператора +, который выполняет логическое ИЛИ. Если хотя бы одно из условий истинно, то результат будет 1. Таким образом, переменная Coof будет содержать результат проверки хеша. Затем результаты сортируются в порядке убывания с помощью оператора order by Coof desc.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5