CRC vs ASCII

Тема в разделе "WASM.BEGINNERS", создана пользователем Semiono, 16 июн 2009.

  1. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    А не бывает алгоритмов известных?
    Например, есть поле забитое буквами:
    'ABCX[пробел]YZ[пробел]32'
    можно ли сразу сказать сколько пробелов или других букв можно добавить за счёт замены,
    чтобы сумма не менялась?
    К примеру чтоб получилось:
    '[пробел][пробел][пробел][пробел]ZZ2009'
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    вообще нет, невозможно
    хотя я где-то видел в сети документы по подмене CRC32. Поищи на compress.ru - вроде бы там было
     
  3. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Если речь именно о пробелах и символах, то (видимо) нет.
    А вообще любое значение CRC32 подгоняется заменой 4 байт путем реверса по таблице, т.е. при условии сохранения длины строки N можно заменить в ней любые символы от 1 до N-4 на произвольные (по своему усмотрению) и затем после последнего измененного символа добавить 4 байта по определенному алгоритму, чтобы получить исходное значение CRC32. Но окажутся ли эти байты отображаемыми или набираемыми с клавиатуры, неизвестно.
    Алгоритм реверса см. в статейке "CRC and how to Reverse it" by anarchriz (google в помощь).
    Вот еще примерчик реверса из своей заначки ;)