Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   перевести MD5 hex -> bin (http://www.flasher.ru/forum/showthread.php?t=47170)

n0max 24.07.2003 02:35

перевести MD5 hex -> bin
 
у меня есть 32-байтовая строка ASCII символов, которой представляется подпись MD5. как можно ее перевести в бинарный вид, то есть в 16-байтовую строку ?
можно объединять попарно символы, переводить в десятичное число, и писать в новую строку символ с получившимся номером, но что тогда делать с символом с номером 0 ? он не отображается на печати - и к строке ничего не добавится.
кто-нибудь сталкивался с подобным ?
спасибо за внимание

nagash 24.07.2003 06:35

бред... тебе не кажется?
от начала и до конца...
отреж половину будет тебе 16 символов... =)
но у тебя обсолютное непонимание того что ты хочешь сделать...
или ты очень хорошо это понимаешь, но забыл что-то упомянуть... =)

Crazy 24.07.2003 09:35

Re: перевести MD5 hex -> bin
 
Цитата:

Оригинал написал(а) n0max
у меня есть 32-байтовая строка ASCII символов, которой представляется подпись MD5. как можно ее перевести в бинарный вид, то есть в 16-байтовую строку ?
Зачем?

n0max 24.07.2003 12:40

сервер, принимающий эту подпись, работает с бинарным ее видом.
насчет непонимания: я , видимо, плохо объяснил. вот есть 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 - непечатаемый, то есть при его добавлении к строке она не изменяется, соответственно когда сервер примет полученную строку, он не увидит на нужном месте нулевой байт.

n0max 24.07.2003 14:04

собственно вот

Crazy 24.07.2003 14:34

Используй промежуточный скрипт на языке, который использует не ASCIIZ строки, а строки со счетчиком. Тот же PHP, к примеру.

MOHCTEP 25.07.2003 22:36

Преобразуй значения в строковую форму и сшивай их, тогда, по идее, нулевой байт не теряется.


Часовой пояс GMT +4, время: 19:16.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.