powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Соответствие строки числу.
25 сообщений из 25, страница 1 из 1
Соответствие строки числу.
    #35338171
Ziva Supernova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая задача: поставить строке в соответствие уникальное число.

Строка может быть, ну скажем 256 или 512 символов.

Какие есть предложения?
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35338198
Gatman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hash ? crc ?
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35338216
Ziva Supernova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну наскока я понимаю crc это просто контрольная сумма. Разьве она будет уникальной с достоточной вероятностью?
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35338242
Gatman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотря как рассчитывать будете, какой полином и т.д., опять же, какой размер числа. в целом да, она будет уникальна
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35338255
Gatman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще советую посмотреть в сторону алгоритмов SHA1 и MD5 . их реализация есть на большинстве языков программирования
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35338266
Ziva Supernova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну там другие заморочки. Там просто слишком большое число получиться при md5.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35338279
Ziva Supernova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя не, ступил. MD5 же 128 бит выдаёт.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35338337
Дык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для гарантии уникальности нужно, чтобы уникальное число имело ту же информационную ёмкость, что и строка. Т.е., в случае 1 байта на символ, в числе будет 256 или 512 байт. То есть, можно тупо сконкатенировать числовые коды букв строки в гигантское число.

Всё остальное, как то хэши и контрольные суммы, будут давать одинаковые числа для разных строк в конце концов.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35338433
КирДый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДыкДля гарантии уникальности нужно, чтобы уникальное число имело ту же информационную ёмкость, что и строка. Т.е., в случае 1 байта на символ, в числе будет 256 или 512 байт. То есть, можно тупо сконкатенировать числовые коды букв строки в гигантское число.

Всё остальное, как то хэши и контрольные суммы, будут давать одинаковые числа для разных строк в конце концов.
Читай методичку по теории кодирования информации
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35338498
Дык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читай теорию множеств и про взаимно однозначное соответствие.

Пример для детского сада.
Строка длиной в 256 байт. Каждый байт -- число от (будем великодушны и учтём только заглавный английский алфавит) 65 до 90. Всего 26^256 комбинаций.
Хэш длиной 128 бит. Каждый бит -- число от 0 до 1. Всего 2^128 комбинаций.

Что во сколько раз больше и к каким следствиям в соответствии двух множеств это ведёт, старшая группа считает самостоятельно.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35340332
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Читай теорию множеств
смеялсо. как же тогда архиваторы работают?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35340400
ScareCrow
>Читай теорию множеств
смеялсо. как же тогда архиваторы работают?

Там комбинаций меньше, т.к. все комбинации - в словаре
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35341666
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ziva SupernovaЕсть такая задача: поставить строке в соответствие уникальное число.

Строка может быть, ну скажем 256 или 512 символов.

Какие есть предложения?

Для однозначного отображения строка=>число=>строка существуют способы кодирования BinHex, Base64 e.t.c. Если вы хотите получить полезный эффект уменьшения размера то нужно использовать коды Шеннона (Хаффмена), Арифметический код.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35343254
Фотография mccc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ziva SupernovaКакие есть предложения?

из .... cpguide/html/cpconCryptographyOverView.htm

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

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

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

.NET Framework предоставляет следующие классы, которые реализуют алгоритмы цифровой подписи:

HMACSHA1
MACTripleDES
RC2CryptoServiceProvider
SHA1Managed
SHA256Managed
SHA256Managed
SHA256Managed
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35343360
Дык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mcccВ вычислительном плане немыслимо найти два разных входных набора данных, результаты хэширования которых полностью совпадают.
Как тонко написано.

В сочетании с "Хэш-код является уникальным..." создаёт неверное представление. Дескать, для всех строк хэши будут разные всегда.

На самом деле здесь сказано "хрен найдёте, если искать начнёте", что правда.

Но разным строкам всё равно будут соответствовать одинаковые хэши. Несмотря на то, что хрен найдёшь такие пары.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35343424
Фотография mccc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык mcccВ вычислительном плане немыслимо найти два разных входных набора данных, результаты хэширования которых полностью совпадают.
Как тонко написано.

за что купил...

был по FW1.1 русскоязычный но куда-то засунули. сейчас Content not found
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35343561
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык[quot mccc]
На самом деле здесь сказано "хрен найдёте, если искать начнёте", что правда.

Но разным строкам всё равно будут соответствовать одинаковые хэши. Несмотря на то, что хрен найдёшь такие пары.

Согласен, а то у нас были бы чудо-архиваторы
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35344168
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возникла глупая мысль. Сесть и побыстрячку написать такой архиватор. Чтобы доказать методом от противногo его тык-скыть принципиальную невозможность.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35347445
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy den Дык[quot mccc]
На самом деле здесь сказано "хрен найдёте, если искать начнёте", что правда.

Но разным строкам всё равно будут соответствовать одинаковые хэши. Несмотря на то, что хрен найдёшь такие пары.

Согласен, а то у нас были бы чудо-архиваторы

А причем тут архиваторы? Они, всего лишь, исключают избыточность данных путем изменения способа их кодирования.
Хэши, кстати, не упаковываются. Да и другие данные без избыточности. Например "1234567890" - не упакуется, ибо некуда.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35347544
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай1Хэши, кстати, не упаковываются. Да и другие данные без избыточности. Например "1234567890" - не упакуется, ибо некуда.
Упакуется. Дельта-кодером.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35347787
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton Николай1Хэши, кстати, не упаковываются. Да и другие данные без избыточности. Например "1234567890" - не упакуется, ибо некуда.
Упакуется. Дельта-кодером.

Не стану спорить, ибо не в курсе.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35348698
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай1 zloy den Дык[quot mccc]
На самом деле здесь сказано "хрен найдёте, если искать начнёте", что правда.

Но разным строкам всё равно будут соответствовать одинаковые хэши. Несмотря на то, что хрен найдёшь такие пары.

Согласен, а то у нас были бы чудо-архиваторы

А причем тут архиваторы? Они, всего лишь, исключают избыточность данных путем изменения способа их кодирования.
Хэши, кстати, не упаковываются. Да и другие данные без избыточности. Например "1234567890" - не упакуется, ибо некуда.

Я имел в виду ту мысль, что любой строке произвольной длины можно поставить взаимнооднозначный хэш, это по сути и будет чудо-архивацией:) А насчет невозможности создания архиватора лучше определенного порога все уже вроде было доказано(правда не помню точно кем, может Хаффманом)
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35350136
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy den Николай1 zloy den Дык[quot mccc]
На самом деле здесь сказано "хрен найдёте, если искать начнёте", что правда.

Но разным строкам всё равно будут соответствовать одинаковые хэши. Несмотря на то, что хрен найдёшь такие пары.

Согласен, а то у нас были бы чудо-архиваторы

А причем тут архиваторы? Они, всего лишь, исключают избыточность данных путем изменения способа их кодирования.
Хэши, кстати, не упаковываются. Да и другие данные без избыточности. Например "1234567890" - не упакуется, ибо некуда.

Я имел в виду ту мысль, что любой строке произвольной длины можно поставить взаимнооднозначный хэш, это по сути и будет чудо-архивацией:) А насчет невозможности создания архиватора лучше определенного порога все уже вроде было доказано(правда не помню точно кем, может Хаффманом)
Одна тонкость - архиватор работает в обе стороны. А хэш - только в одну.
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35350178
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильнее было-бы сказать, что функция хэша является сюръективной или сюръекцией на множестве Y, если F : X -> Y
...
Рейтинг: 0 / 0
Соответствие строки числу.
    #35350619
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай1
Одна тонкость - архиватор работает в обе стороны. А хэш - только в одну.

Знаю, но если бы соответствие было бы взаимнооднозначным, то был бы шанс найти обратную функцию, а это уже и был бы архиватор, который сжимает больше предельно допустимой границы алгоритмов сжатия без потерь. Но хэши не взаимнооднозначны с данными на входе, так что в деле построения архиваторов это не поможет:)
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Соответствие строки числу.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]