![]() |
Linear feedback shift register/Линейный сдвиговый регистр с обратной связью
Пытаюсь написать обратную функцию...
Совсем запутался... может кто моможет? А то я в этом не очень... Код AS3:
|
а оно вообще можно таким образом?
|
Вот меня тоже сомнения начали мучать... я наверное чего-то не так сделал в енкодере... =( я не совсем понимаю по какому принципу добавляется первый бит, поэтому не понимаю как получить последний в обратной функции... наверное проще было бы сделать чтобы это был просто последний бит который "не влез".
|
Старший бит устанавливается если 1й, 3й, 4й и 6й биты по ксору дают единицу, т.е. если из них 4ых установлены 1 или 3 разряда. Если установлены 0, 2 или 4 бита, старший соответственно будет нулем.
Короче вот таким вот образом, как в исходнике написано, исходную последовательность не восстановить. А в чем задача то вообще состоит? |
Задача была сделать текстовую информацию нечитаемой, а потом читаемой обратно :) Я наверное просто что-то не так понял / не так переписал в исходном преобразовании. Т.е. в таком варианте можно будет проверить только то, что переданый ключ был получен, но никак не получить новую информацию... Вобщем, ладно, спасибо, сделаю просто сдвиг вправо а потом влево. Не так уж важно...
EDIT: Вобщем, вот на этом сердце успокоилось :) Код AS3:
|
так а чем простой XOR не устроил?
|
Чесно... это совсем не моя сильная сторона :) А каким образом с помощью XOR (^) можно сделать что-то похожее?
|
Вкратце: (a^x)^x = a, т е побайтово xor-им с числом каким-то, а потом повторение этой операции нам расшифрует данные
|
Ааа.... спасибо, да, понял, действительно просто :)
|
| Часовой пояс GMT +4, время: 14:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.