![]() |
перевести MD5 hex -> bin
у меня есть 32-байтовая строка ASCII символов, которой представляется подпись MD5. как можно ее перевести в бинарный вид, то есть в 16-байтовую строку ?
можно объединять попарно символы, переводить в десятичное число, и писать в новую строку символ с получившимся номером, но что тогда делать с символом с номером 0 ? он не отображается на печати - и к строке ничего не добавится. кто-нибудь сталкивался с подобным ? спасибо за внимание |
бред... тебе не кажется?
от начала и до конца... отреж половину будет тебе 16 символов... =) но у тебя обсолютное непонимание того что ты хочешь сделать... или ты очень хорошо это понимаешь, но забыл что-то упомянуть... =) |
Re: перевести MD5 hex -> bin
Цитата:
|
сервер, принимающий эту подпись, работает с бинарным ее видом.
насчет непонимания: я , видимо, плохо объяснил. вот есть 32 байта подписи "b4a67f2859647af3426a7900511bc477", я их разбиваю на пары "b4 a6 7f 28 59 64 7a f3 42 6a 79 00 51 1b c4 77". каждая пара - шестнадцатеричное число (0xb4, 0xa6 и т.д.). но в таком виде каждое такое число занимает 2 байта (2 символа). мне нужно, чтобы оно весило 1 байт - я перевожу его в десятичное число (parseInt ("b4", 16)) и приписываю новой строке символ с таким кодом (String.fromCharCode(parseInt ("b4", 16))). теперь это число занимает всего 1 байт (1символ). Таким образом, я представил строку, изначально занимавшую 32 байта строкой, занимающей 16 байт. теперь проблема: символ, соответствующий коду 0 - непечатаемый, то есть при его добавлении к строке она не изменяется, соответственно когда сервер примет полученную строку, он не увидит на нужном месте нулевой байт. |
собственно вот
|
Используй промежуточный скрипт на языке, который использует не ASCIIZ строки, а строки со счетчиком. Тот же PHP, к примеру.
|
Преобразуй значения в строковую форму и сшивай их, тогда, по идее, нулевой байт не теряется.
|
| Часовой пояс GMT +4, время: 19:16. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.