информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеАтака на InternetПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Как насчет пресловутого base64? 11.08.03 17:25  Число просмотров: 1417
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> что такое base64 и октет ??

октет = байт :)
base64 - кодировка, которая переводит последовательность байтов (октетов) 0-255 в последовательность "сикстетов", т.е. в 6 бит, т.е. 0-63. Эти 0-63 представлены буквенно, так чтобы могли быть представлены в любых системах, кодировках,... Т.е. там нет никаких 0x10, 0x13, 0x7,... Очень активно используется в интренет технологиях, по понятным причинам :)

Алгоритм прост: берется 3 октета и из них делается 4 сикстета...
<programming>
проблема с кодировкой в Delphi 5 11.08.03 11:01  
Автор: Grom128 Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Привет. У меня проблема. Объясню суть. Есть простой шифратор, который считывает из поля(компонент Memo) тескст, далее каждый символ преобразует во внутренний код этого символа. Складывает каждую строку со случайно сгенерированным ключом(длина ключа = количество символов с строке) и выдает результат.Понятно получается абра-кодабра. Проблема вот в чем. Выписывает он в поле совсем не все , так как, насколько я понимаю, производит операции он в Unicode, а выдавать может только ANCI. Вобщем, лучше я приведу пример. Строку :
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
мы шифруем, и во внутреннем коде символов у нас столько же сколько и тут букв. Некоторые ввиде '#n' , где n это какоето число. Вобщем отладчик, пишет , что мы имеем следующее:
~$ ®þ·˜Â͈ֆƒ²/Á'#$12'¹'#3''#7'µ˜¹Õ©'#$1D'¯Ø•&±'#$12';Ú)'#$1D'|””Ü
#238;y'#$12'ú'#$12#5'ç¡'
-это шифр нашей строчки. Отладчик-всемогущ , он видит всю правду.
Но на самом компоненте пишется только :
~$ ®ю·˜ВН€Ц† ѓІ/Б№ µ˜№Х©ЇШ•&±;Ъ)|””Ь|оyъзЎ
-естественно при расшифровке информация теряется, происходит сдвиг строк и тд . Вобщем все не как надо. При сохранении в файл происходит тоже самое. Кто что знает напишите, пожалуйста.
а алгоритм шифровки критичен? 12.08.03 07:39  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
если нет можешь заюзать такой чтоб на выходе сразу вылазили только буквы. например PC1 (линк внизу)

http://membres.lycos.fr/pc1/
Как насчет пресловутого base64? 11.08.03 12:36  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> Привет. У меня проблема. Объясню суть. Есть простой
> шифратор, который считывает из поля(компонент Memo) тескст,
> далее каждый символ преобразует во внутренний код этого
> символа. Складывает каждую строку со случайно
> сгенерированным ключом(длина ключа = количество символов с
> строке) и выдает результат.Понятно получается абра-кодабра.
> Проблема вот в чем. Выписывает он в поле совсем не все ,
> так как, насколько я понимаю, производит операции он в
> Unicode, а выдавать может только ANCI. Вобщем, лучше я
> приведу пример. Строку :
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxx
> мы шифруем, и во внутреннем коде символов у нас столько же
> сколько и тут букв. Некоторые ввиде '#n' , где n это
> какоето число. Вобщем отладчик, пишет , что мы имеем
> следующее:
> ~$ ®þ·˜Â͈ֆƒ²/
> 3;'#$12'¹'#3''#7'µ˜¹Õ©'#$1D'¯Ø
>;•&±'#$12';Ú)'#$1D'|””Ü#238;y'#$12'ú'#$12#
> 5'ç¡'
> -это шифр нашей строчки. Отладчик-всемогущ , он видит всю
> правду.
> Но на самом компоненте пишется только :
> ~$ ®ю·˜ВН€Ц† ѓІ/Б№ µ˜№Х©ЇШ•&±;Ъ)|””Ь|оyъзЎ
> -естественно при расшифровке информация теряется,
> происходит сдвиг строк и тд . Вобщем все не как надо. При
> сохранении в файл происходит тоже самое. Кто что знает
> напишите, пожалуйста.

Закодируй вывод в base64, чтобы свои октеты не терять... Подойдет?

http://ietf.org/rfc/rfc3548.txt
Как насчет пресловутого base64? 11.08.03 17:13  
Автор: Grom128 Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Закодируй вывод в base64, чтобы свои октеты не терять...
> Подойдет?

привет. я, конечно, ссылку скачал, и ты мне даже кое что подсказал. я просто буду с циферками работать, все ведь так просто! спасибо. но, ответ я не понял. если не трудно : что такое base64 и октет ?? а то ведь с необразованностью надо бороться. :) (то есть со мной)
Как насчет пресловутого base64? 11.08.03 17:48  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 11.08.03 17:51  Количество правок: 1
<"чистая" ссылка>
> что такое base64 и октет ?? а то ведь с необразованностью
> надо бороться. :) (то есть со мной)

Октет - восьмибитовая порция информации, байт, короче.
Некоторые системы (почтовые, например) считают некоторые байты управляющими, а не несущими информацию. Они спокойно пропускают в тексте буквы, цифры, знаки препинания и др. При обработки некоторых байтиков их реакия может быть неожиданная или непредсказуемая. Вот и придумали base64. Эта система преобразования наиболее проста и наиболее емкая. Емкость определяется следующим фактором: отношение количества передаваемых байт и количества знакомест в кодированном сообщении. Для base64 это 4/3, то есть при кодировании 3 байт потребуется 4 знака. Исходное сообщение увеличится всего на одну треть. Работает это так: Большинство систем спокойно пропустят 64 знака (буквы, цифры, знаки препинания и пр.). Из исхоного первого байта берем первые 6 бит, эта группа может иметь 64 состояния/значения и заменяем ее на знак по таблице преобразования. Затем берем остальные два бита и четыре бита из второго следующего байта. Получаем второй знак. Четыре бита из второго байта и два из третьего дадут третий знак. Последние шесть из третьего байта дадут четвертый знак. Это в общих чертах.
Цифровое преобразование менее компактно, поскольку в десятичной системе байт однозначно может быть представлен тремя цифрами. Размер кодированного текста в три раза превысит исходный. Одним из самых простых и достаточно компактных явдяется шестнадцатиричное (тетрадами - четырехбитовыми последовательностями): байт разбивается на две группы - старшие 4 бита и младшие 4 бита делением на 16. В результате получается значение [0-15] и остаток [0-15]. Эти значения заменяются на цифры от 0 до 9 соответственно, а числа от 10 до 15 на латинские буква от A до F. Все это делать можно по таблице. Компактность 0,5, то есть код будет в два раза больше исходного.
Октет это 8 бит, можешь называть его байтом 11.08.03 17:33  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> > Закодируй вывод в base64, чтобы свои октеты не
> терять...
> > Подойдет?
>
> привет. я, конечно, ссылку скачал, и ты мне даже кое что
> подсказал. я просто буду с циферками работать, все ведь
> так просто! спасибо. но, ответ я не понял. если не трудно :
> что такое base64 и октет ?? а то ведь с необразованностью
> надо бороться. :) (то есть со мной)
Хотя насколько я помню в байте может быть и другое число бит, а октет это по определению 8 бит. А base64 кодирование - способ кодирования, использующий только 64 символа из набора ASCII, причем таким образом, что все они оказываются печатными (попадают в диапазон с кодами 32-127), а следовательно могут передаваться, храниться и т.д. там, где можно использовать только печатные символы (например в 7-битных средах передачи)
Как насчет пресловутого base64? 11.08.03 17:25  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> что такое base64 и октет ??

октет = байт :)
base64 - кодировка, которая переводит последовательность байтов (октетов) 0-255 в последовательность "сикстетов", т.е. в 6 бит, т.е. 0-63. Эти 0-63 представлены буквенно, так чтобы могли быть представлены в любых системах, кодировках,... Т.е. там нет никаких 0x10, 0x13, 0x7,... Очень активно используется в интренет технологиях, по понятным причинам :)

Алгоритм прост: берется 3 октета и из них делается 4 сикстета...
Нет уж извините! :) 11.08.03 17:45   [Ktirf]
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
> > что такое base64 и октет ??
>
> октет = байт :)
Октет - это по определению восемь бит! А вот когда-то были времена... У некоторых машин байт состоял из шести бит! Правда, какие машины, "я вам не скажу, умные и без меня сумеют найти, а глупым это и не надо" (с) ;)
[офф] Кстати один миф 11.08.03 18:03   [Ktirf, whiletrue, amirul]
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> > > что такое base64 и октет ??
> >
> > октет = байт :)
> Октет - это по определению восемь бит! А вот когда-то были
> времена... У некоторых машин байт состоял из шести бит!
> Правда, какие машины, "я вам не скажу, умные и без меня
> сумеют найти, а глупым это и не надо" (с) ;)

Существет теоремка о том, что оптимальная система счисления - это e (2,8). Соответсвенно 3 ближе к е, чем 2...

Короче, нам в институте как-то говорили, что существовала одна советская большая тачка, работающая именно так! Т.е. бит - это не 0|1, а 0|1|2 или -1|0|1 Никто не слышал об этом?

http://vphedotov.narod.ru/03/sem/h/ri02.htm
[офф] Пора этот оффтопик в отдельную ветку выносить :) 12.08.03 12:50  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
[офф] Действительно миф. 12.08.03 11:53  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 12.08.03 12:12  Количество правок: 1
<"чистая" ссылка>
> Существет теоремка о том, что оптимальная система счисления
> - это e (2,8). Соответсвенно 3 ближе к е, чем 2...

Это настолько оптимально, насколько и бесполезно.

> Короче, нам в институте как-то говорили, что существовала
> одна советская большая тачка, работающая именно так! Т.е.
> бит - это не 0|1, а 0|1|2 или -1|0|1 Никто не слышал об
> этом?

Ну создали такую машинку ради спортивного интереса, а дальше что. Эсли бы это было столь полезно, то сейчас все машины бы в троичной системе работали. Если бы для двоичного представления необходимо было 2*N транзисторов, а для троичного 3*N, и актуально стоял вопрос об уменьшении колисечтва транзисторов в регистрах хранения/памяти, то на троичную перешли бы. А что мы сейчас имеем: один бит - один транзистор и конденсатор, а для троичной если транзисторов пара потребуется - то эффестивность только уменьшается (количество ячеек меньше в полтора раза, а транзисторов в два раза больше).
Болше количество состояний одного знака - меньше надо знаков для представления одного и того же числа. Количество знаков, необходимых для представления чисел в заданном пределе определяется как произведение основания системы счисления представления числа (количество цифр системы) на логарифм по основанию этой системы от максимального числа (количество знакомест). То есть сколько цифр надо для представления любого числа не больше заданного. Например для представления всх чисел, не больше чем 999999 в десятичной системе надо 60 знаков (6 наборов по 10 цифр), в двоичной же 40 (20 наборов по 2 цифры). В троичной же 39 (13 наборов по 3 цифры).
Количество ячеек в байте играет не маловажную роль, оно связано не только с количеством электронных элементов, но и с количеством соединяющих проводников (для милиона в двоичной нужно 20 бит и 20 проводников, а для троичной 13 и 13 проводников). Количество состояний (основание) тоже не маловажно. Посмотрите на реализацию сумматора в двоичной и попробуйте составить схему для реализации сумматора на троичных элементарных логических элементах. Посчитайте количество транзисторов. И где их будет больше? Как реализовано умножение, знаете, надеюсь, сдвиг и сложение. Сколько тактов нужно на умножение - правильно, оно равно количеству бит (может быть умноженному на два, если сдвиг и сложение делается не за один такт). В современных процессорах все не так! Представте что будет, если в Пентиуме умножение 32 битных чисел пудет происходить за 32 такта, а в Атлоне за ОДИН! Умножатель не параллельный сумматор, его на 32 логических элементах не сделать, но есть выход. Допустим надо умножить байт на байт. Берем ПЗУ 16 адресных линий и 16 бит данных. 8 бит первого множителя заводим на младшие адресные разряды, 8 бит второго множителя заводим на старшие адресные разряды, в ПЗУ прошиваем сами догадываетесь что - таблицу умножения. К чему это я? А вот к чему - попробуйте таким образом реализовать умножение в троичной системе, подав сигналы данных на адресные линии.
Использование троичной системы в представлении чисел в вычислительной технике - это действительно миф.
[офф] Ну если для этого использовать традиционные транзисторы, то конечно. 12.08.03 12:07  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
Отредактировано 12.08.03 12:08  Количество правок: 1
<"чистая" ссылка>
Но ведь можно было подумать о полупроводниковых элементах, изначально поддерживающих три устойчивых состояния. Кстати говоря, в той самой статье, линк на которую кинул whiletrue, говорится вот что:
"Увеличение значности с двух до трех без ужесточения допусков достигается за счет недоиспользуемой двоичной техникой возможности различать сигнал как по амплитуде, так и по полярности."
[офф] Для этого есть специальные тристабильные элементы, но они значительно сложнее "обычных транзисторов" 12.08.03 12:24  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Но ведь можно было подумать о полупроводниковых элементах,
> изначально поддерживающих три устойчивых состояния. Кстати
> говоря, в той самой статье, линк на которую кинул
> whiletrue, говорится вот что:
> "Увеличение значности с двух до трех без ужесточения
> допусков достигается за счет недоиспользуемой двоичной
> техникой возможности различать сигнал как по амплитуде, так
> и по полярности."
И кстати, по поводу статьи. Смутно верится, что можно получить реальный выигрыш. Потому как сложность и дороговизна тристабильных элементов делает их ЭКОНОМИЧЕСКИ невыгодными. Кроме того, вся существующая инфраструктура заточено под двоичную логику, и ломать ее - не самое дешевое занятие. Это примерно как с автомобилями: всем понятно, что бензиновые двигатели уже не самый лучший вариант и предложено несколько альтернатив, но бензин дешевле только за счет массовости.
[офф] Да... субъективно все! 12.08.03 12:49  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> И кстати, по поводу статьи. Смутно верится, что можно
> получить реальный выигрыш. Потому как сложность и
> дороговизна тристабильных элементов делает их ЭКОНОМИЧЕСКИ
> невыгодными. Кроме того, вся существующая инфраструктура
> заточено под двоичную логику, и ломать ее - не самое
> дешевое занятие. Это примерно как с автомобилями: всем
> понятно, что бензиновые двигатели уже не самый лучший
> вариант и предложено несколько альтернатив, но бензин
> дешевле только за счет массовости.

Если бы сразу начали делать в троичной системе, то и соответсвующие технологии подогнали бы. Ну вот щас - на хрена такие мощности персоналкам? Чтобы Окна(tm) выглядели еще "красивее"? Подогнали бы хардваре, ИМХО, если бы сразу востребованность была. Щас такие весчи бывают, о которых мы лет 10 назад даже подумать не могли... Че на полупроводниках циклиться?

Да я уверен если и сейчас кто-то займется подобными разработками - то получит свой кусман рынка.

"За тридевять земель..." (с)
[офф] Сейчас вообще не стоит заморачиваться этим 12.08.03 13:13  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Если бы сразу начали делать в троичной системе, то и
> соответсвующие технологии подогнали бы. Ну вот щас - на
> хрена такие мощности персоналкам? Чтобы Окна(tm) выглядели
> еще "красивее"? Подогнали бы хардваре, ИМХО, если бы сразу
> востребованность была. Щас такие весчи бывают, о которых мы
> лет 10 назад даже подумать не могли... Че на
> полупроводниках циклиться?
Потому как сейчас вполне хватает и двоичных машин. А на подходе уже квантовые и молекулярные. Прототипы и тех и других элементов уже есть насколько мне известно. Там вообще все СОВЕРШЕННО не вписывается в фон-неймановскую архитектуру (а троичная система - это просто расширение базиса, а не ломка архитектуры). Так что поживем - увидим

> Да я уверен если и сейчас кто-то займется подобными
> разработками - то получит свой кусман рынка.
Как по мне - пустая трата времени.

> "За тридевять земель..." (с)
[офф] Все объясняется довольно просто. 12.08.03 12:45  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
> И кстати, по поводу статьи. Смутно верится, что можно
> получить реальный выигрыш. Потому как сложность и
> дороговизна тристабильных элементов делает их ЭКОНОМИЧЕСКИ
> невыгодными. Кроме того, вся существующая инфраструктура
> заточено под двоичную логику, и ломать ее - не самое
> дешевое занятие. Это примерно как с автомобилями: всем
> понятно, что бензиновые двигатели уже не самый лучший
> вариант и предложено несколько альтернатив, но бензин
> дешевле только за счет массовости.
Извините, а в 1957-58 году была инфраструктура??? Парк машин резко разросся с появлением персоналок! До этого компьютеров было, конечно, много (особенно с появлением миниЭВМ PDP и ей подобных), но все же не умопомрачительно много. Тогда еще можно было "все изменить". А сейчас да, это будет почище перехода с IPv4 на IPv6 :(
То же самое касается и дешевизны. Тристабильные элементы в те времена оказались дешевле и надежнее просто потому что не было достаточно дешевых и надежных двустабильных. А дальше - дальше двоичные машины выиграли гонку на короткой дистанции, в результате получили гандикап размер в весь мир на длинной...
[офф] Про нетрадиционные транзисторы ничего не слышал. 12.08.03 12:20  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Увы, транзистор - три полупроводника разной проводимости и два перехода между ними. Если расчитан на положительное управляющее напряжение на базе - то отрицательным управляться не будет, даже если полярность питания поменять. Это не только к биполярным, но и к полевым относится.

> Но ведь можно было подумать о полупроводниковых элементах,
> изначально поддерживающих три устойчивых состояния. Кстати
> говоря, в той самой статье, линк на которую кинул
> whiletrue, говорится вот что:
> "Увеличение значности с двух до трех без ужесточения
> допусков достигается за счет недоиспользуемой двоичной
> техникой возможности различать сигнал как по амплитуде, так
> и по полярности."

Это Аналоговая Вычислительная Машина получится (АВК). Были такие, давно, сейчас уже, наверное, они на помойке.
[офф] Не сказал бы, что аналоговая вычтехника ушла на помойку ;) 12.08.03 12:38  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
Отредактировано 12.08.03 12:39  Количество правок: 1
<"чистая" ссылка>
> Это Аналоговая Вычислительная Машина получится (АВК). Были
> такие, давно, сейчас уже, наверное, они на помойке.
До сих пор используются аналоговые машины для моделирования физических процессов и решения некоторых задач (например, не очень давно, а может быть и до сих пор, на них решали задачу коммивояжера; правда, к сожалению, аналоговая машина не так масштабируема, как цифровая, по крайней мере не всегда...). Используются просто потому, что ничего лучшего нет. В некоторых задачах цифровая техника отдыхает заранее, в частности там где приходится иметь дело с нечеткой логикой. А где-то, как в задаче коммивояжера, цифровые вычисления дают слишком большой оверхед.
[офф] О! Сетунь она называется! 11.08.03 20:48  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
Почитайте на досуге, кому интересно. Мне очень пондравилось!

http://www.computer-museum.ru/histussr/12-1.htm
http://www.computer-museum.ru/histussr/12-2.htm
[офф] Это в общем не миф 11.08.03 18:24  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Существет теоремка о том, что оптимальная система счисления
> - это e (2,8). Соответсвенно 3 ближе к е, чем 2...
Нам на Прикладной Теории Цифровых Автоматов тоже об этом рассказывали.

> Короче, нам в институте как-то говорили, что существовала
> одна советская большая тачка, работающая именно так! Т.е.
> бит - это не 0|1, а 0|1|2 или -1|0|1 Никто не слышал об
> этом?
В общем насколько я понимаю, двустабильные системы проще (транзисторы) и дешевле тристабильных (даже не могу сразу сказать). То есть, хотя математически в системе с основанием e информация наиболее компактна, техническая реализация троичной системы счисления выльется в более дорогое оборудование. Развитие таких систем экономически не обосновано, а имеет лишь академический интерес.
1  |  2 >>  »  




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach