longclaps, Я попытался предположить какую задачу пытается решить человек ища такую хэш-функцию. Предположил, что ему нужно что то вроде контроля ошибок и следующее предложение, в котором рекомендую ему ознакомится со статьями, начал со слов "Есть сильно подозрение"!
$sel = mysql_query("SELECT DISTINCT(`seller_id`)FROM `oc_ms_seller` WHERE categ LIKE '%$cat_id%'" , $link);
Но это заранее проигрышный вариант. Вам нужно выделять поле categ в отдельную таблицу и реализовывать связь многие-ко-многим. А так как вы хотите будет работать криво.
В открытом виде - не хорошо. Шифруйте их перед тем как класть в таблицу. Только шифруйте обратимо, а не хэшируйте. А перед авторизацией бота - расшифровывайте.
Думаю тут можно более логически решить. Разбейте числа на группы близкие по значению. Тогда скорее всего числа из одной группы будут располагаться на диагоналях и окружностях. А там уже можно либо немножечко "поиграться" с их перестановкой и по-подбирать уточняющее решение.
1. Всё, начиная со слов "Пробовал таким же образом"
2. Да. Достаточно хорошо.
3. Суть RSA в том, что для начала обмена зашифрованными сообщениями передающей и приёмной стороне не нужно передавать друг другу общий ключ, а достаточно просто обменяться своими открытыми ключами. Разумеется что "передающая сторона" и "приемная сторона" - это абстракции, коими могут являться два устройства или две программы или вообще два модуля одной программы. А под "сообщением" понимается любой набор информации.
Так как внутри одной системы вероятность перехвата ключа атакующим - крайне мала, то использовать RSA для шифрования записей в БД, смысла не имеет.
RSA? AES? БД? Вы что то смешали всё в одну кучу. Причём эта куча не подходит под заголовок и тэги вопроса.
RSA - это алгоритм ассиметричного шифрования
AES (Rijndael) - симметричное шифрование
Ни то ни другое к самой БД и уж тем более к операциям записи не относится.
Вам нужно будет уточнить вопрос.