2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Base64
Сообщение15.10.2012, 02:09 


14/12/09
306
На своём сайте мне необходимо кодировать текст используя Base64.
Исходный текст: 123.456.789.1
Закодированный текст: MTIzLjQ1Ni43ODkuMQ==

Бесят знаки "==", т.к. закодированный текст я должен дать пользователю в качестве секретного ключа. Вы часто встречаете ключи со знаками равенства? Я не разу :-). Попробовал раскодировать без них и получил исходный текст: 123.456.789.1
Вопрос: Если я буду убирать эти знаки равенства перед раскодированием, то у меня всегда один и тот же результат будет получаться? Т.е. можно ли их опустить?

 Профиль  
                  
 
 Re: Base64
Сообщение15.10.2012, 21:40 
Аватара пользователя


03/12/08
351
Букачача
Читайте RFC 4648, 1421, 2045.

 Профиль  
                  
 
 Re: Base64
Сообщение16.10.2012, 04:18 


14/12/09
306
chessar, спасибо, но, во-первых, не знаю английский, во-вторых, решил использовать свой алгоритм :-)
Тема закрыта.

 Профиль  
                  
 
 Re: Base64
Сообщение16.10.2012, 22:45 
Заслуженный участник


09/09/10
3729
Знаки равенства — это заполнитель. Тут смысл в чем: три байта (24 бита) режутся на четыре шестибитки, и каждая шестибитка превращается в букву/цифру. Т.е. длина выходной строки кратна четырем. Но если у вас не ровно $3k$ байт, а $3k+1$ или $3k+2$ байт, то остаточные 8/16 байт дополняются справа нулями до 12/18 бит (2/3 шестибитки соответственно), после чего длина выходной строки уж на четыре не делится — не хватает 2/1 символа. Ну, вот эти пустые места и забиваются знаками равенства. Их спокойно можно выбросить, в процессе декодирования они все равно не учитываются.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group