Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хэширования без коллизий 
:(
    Опции темы
zasaz63
Дата 31.5.2013, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.5.2013

Репутация: нет
Всего: нет



Всем доброго времени суток!
Кто-нибудь знает метод хэширования без коллизий? Будет использоваться чисто в декоративных целях(на основе id), поэтому устойчивость к взлому необязательна.
PM MAIL   Вверх
bars80080
Дата 31.5.2013, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



md5
у него есть коллизии?
PM MAIL WWW   Вверх
Arantir
Дата 31.5.2013, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



Цитата(zasaz63 @  31.5.2013,  00:49 Найти цитируемый пост)
Будет использоваться чисто в декоративных целях(на основе id), поэтому устойчивость к взлому необязательна. 

Почему бы тогда просто не генерировать строки в криптографическом порядке?



--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
Fortop
Дата 31.5.2013, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(zasaz63 @  31.5.2013,  01:49 Найти цитируемый пост)
Кто-нибудь знает метод хэширования без коллизий?

Нет, не знает и никогда не узнает

Цитата(bars80080 @  31.5.2013,  14:13 Найти цитируемый пост)
у него есть коллизии? 

есть
А что?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Arantir
Дата 1.6.2013, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



Цитата(zasaz63 @  31.5.2013,  00:49 Найти цитируемый пост)
в декоративных целях

Вообще, есть много способов получать уникальные строчки с буковок, помимо подсчета хэша...


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
zasaz63
Дата 1.6.2013, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.5.2013

Репутация: нет
Всего: нет



Цитата(Arantir @ 1.6.2013,  00:13)
Вообще, есть много способов получать уникальные строчки с буковок, помимо подсчета хэша...

Подскажите какие
PM MAIL   Вверх
Arantir
Дата 1.6.2013, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



Цитата(zasaz63 @  31.5.2013,  23:38 Найти цитируемый пост)
Подскажите какие 


Ну, например:
1, 2, 3, 4,... и так до бесконечности, и никогда не повторяются.
А запись числа — понятие относительное. Вспомните 16-ричную систему счисления. Строка "F4D4C654DE5" обозначает десятичное число 16824668605925. Достаточно каждый раз прибавлять +1 (или +2, или +10, или +100, но всегда одинаково) и строки никогда не повторятся. Нужно только проводить сложение не в десятичной, а 16-ричной системе.
При этом можно пользоваться k-ичной системой счисления со сколь угодно большим k, на которое хватит символов. Например, 36-ричной, если взять все цифры и английские буквы.

Второй пример:
Порождение комбинаторных объектов. На эту тему есть много материала, так как это раздел алгоритмизации, его преподают в университетах и т.п. Например, http://www.codenet.ru/progr/other/prbook/gl2.php
Можно, например, генерировать все возможные перестановки в какой-то строке, где нет одинаковых символов. Например, в "qwertyuiopasdfghjkl". При этом, чтобы создать следующее значение, достаточно знать только предыдущее.
Если в строке нет одинаковых символов, то все перестановки уникальны. Для строки в 19 символов их 121645100408832000 штук (надолго хватит...). Ну если начинать сразу с "qwertyuiopasdfghjkl", то остается чуть поменьше. (Первая строка — с символами в алфавитном порядке).
Поскольку мы получаем их последовательно, то никогда не получим уже полученного ранее значения.

Это сообщение отредактировал(а) Arantir - 1.6.2013, 01:32


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
zasaz63
Дата 1.6.2013, 06:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.5.2013

Репутация: нет
Всего: нет



как всё страшно) Спасибо!
PM MAIL   Вверх
bars80080
Дата 1.6.2013, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Fortop @  31.5.2013,  23:55 Найти цитируемый пост)
есть
А что? 

и какие?

чисто интересно. а то пользуюсь и не догадываюсь, может мне нервничать надо?
PM MAIL WWW   Вверх
cutwater
Дата 2.6.2013, 00:05 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 1
Всего: 10



Цитата(bars80080 @  1.6.2013,  10:03 Найти цитируемый пост)
чисто интересно. а то пользуюсь и не догадываюсь, может мне нервничать надо? 


Возьмем множество входов N = {0, ... n} и множество выходов N` = {H(0), ..., H(n)}, где H - хеш-функция. Допустим что хеш-функция на множестве входов N представляет собой однозначную подстановку из N в N`, т.е. любому входу из множества N будет однозначно соответствовать выход из множества N`. Теперь возьмем значение хеш-функции от n+1. Так как множество выходов хеш-функции ограничено множеством N`, на входе n+1 хеш-функция даст выход из множества N`.

Таким образом абсолютно любая хеш-функция на множестве входов > множества выходов будет иметь коллизии, т.е. два значения n и m, для которых H(n) == H(m)

Это сообщение отредактировал(а) cutwater - 2.6.2013, 00:08


--------------------
user posted image
PM MAIL   Вверх
krundetz
Дата 3.6.2013, 09:45 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата(bars80080 @  31.5.2013,  14:13 Найти цитируемый пост)
md5
у него есть коллизии? 

Пример коллизии
Код


                      Сообщение 1
    4d c9 68 ff 0e e3 5c 20 95 72 d4 77 7b 72 15 87
    d3 6f a7 b2 1b dc 56 b7 4a 3d c0 78 3e 7b 95 18
    af bf a2[00]a8 28 4b f3 6e 8e 4b 55 b3 5f 42 75
    93 d8 49 67 6d a0 d1[55]5d 83 60 fb 5f 07 fe a2
                      
                      Сообщение 2     
    4d c9 68 ff 0e e3 5c 20 95 72 d4 77 7b 72 15 87
    d3 6f a7 b2 1b dc 56 b7 4a 3d c0 78 3e 7b 95 18
    af bf a2[02]a8 28 4b f3 6e 8e 4b 55 b3 5f 42 75
    93 d8 49 67 6d a0 d1[d5]5d 83 60 fb 5f 07 fe a2
                       
                     Общий хеш MD5
    
            008ee33a9d58b51cfeb425b0959121c9


Вообще насколько я понимаю, безколлизионных хэш функций быть не может.

Это сообщение отредактировал(а) krundetz - 3.6.2013, 09:48


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
bars80080
Дата 3.6.2013, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



пффф, ну ясен пень. если бы не было коллизий, то это было бы шифрование. при желании, даже обратимое

а как иначе оно может быть, если у нас на выходе 

Цитата(cutwater @  2.6.2013,  00:05 Найти цитируемый пост)
хеш-функции ограничено множеством


PM MAIL WWW   Вверх
baldina
Дата 3.6.2013, 13:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(zasaz63 @  31.5.2013,  01:49 Найти цитируемый пост)
Кто-нибудь знает метод хэширования без коллизий

Цитата(krundetz @  3.6.2013,  09:45 Найти цитируемый пост)
безколлизионных хэш функций быть не может

бывают - если мощность множеств аргумента и хэша совпадают. только в этом случае это уже не называется хэш-функцией  smile 
наличие коллизий - свойство хэш функции по определению.
разговор имеет смысл, если на самом деле нужна не хэш функция, а функция преобразования в более общем смысле.

Цитата(Arantir @  31.5.2013,  14:21 Найти цитируемый пост)
Почему бы тогда просто не генерировать строки в криптографическом порядке?

 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0900 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.