Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 30

Как получить hexidecimal string из массива байтов?

01.02.2011, 01:44. Показов 2129. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
21
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.02.2011, 01:44
Ответы с готовыми решениями:

Использование объекта типа String как промежуточного для передачи массива байтов
Проблема заключается в следующем - нужно, имея массив byte, в который считываются байты сгенеренного файла .xls передать через n-ное кол-во...

Как получить файл из массива байтов?
подскажите, как получить файл из массива байтов?

Как получить html-код в Post-запросе вместо массива байтов
Добрый Есть такая проблема ,делаю GET запрос ,в ответ вместо html кода приходит какой то контент в двоичном виде . Через сниффер вижу во...

6
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 30
01.02.2011, 01:51  [ТС]
Sorry za upper post ....
4to-to laganulo...
Такой вопрос:
нужно получить hexidecimal string из массива байтов (результат работы МД5)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
   String convert(byte[] b) { // byte arr => hexidecimal str
        char[] ret = new char[b.length*2];
        for (int i = 0; i < b.length; i++) {
            ret[i*2] = Character.forDigit(b[i] >> 4 , 16);
            ret[i*2+1]  = Character.forDigit(b[i] & 15, 16);
       }  
        return new String(ret);
    }
 
            MessageDigest d = MessageDigest.getInstance('MD5');
            d.update('stuff'.getBytes());
            byte res [] = d.digest();
            System.out.println(convert(res));
но мне какую-то странную строку выводит ....
МД5 генерит байт аррэй с негативным знаком ... но convert#Character.forDigit принимает только позитивные вхлдные даные , иначе генерит на этот байт return ''
Вопрос : почему .... МД5 генерит байт аррэй с негативным знаком
илт что я делаю не так ?
0
paradise
01.02.2011, 10:26
Попробуй так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
String convert(byte[] b) 
{ 
  String ret = new String();    
  
  for (int i = 0; i < b.length; i++) 
  { 
    char hex [] ={'0','1','2','3','4','5',
                  '6','7','8','9','A','B',
                  'C','D','E','F'};
      
    ret = ret + String.valueOf(hex[(b[i]&0xF0)>> 4]);
    ret = ret + String.valueOf(hex[b[i]&0x0F]);
  } 
  return new String(ret);  
}
paradise
01.02.2011, 10:26
return new String(ret);

заменить на

return ret;

0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 30
01.02.2011, 16:24  [ТС]
ret = ret + String.valueOf
я не использовал конкатэнцию потому-что создаються много временнх обектов(при многократном вызове) .... но не это главное ...
МД5 алго генерит байти с знаком '-' , и когда я использую Character.forDigit(int , int) мне выдает '*' на абйт со знаком '-'
Это нормально?
0
paradise
01.02.2011, 16:30
Нормально. Почитай описание этой функции и все поймешь.
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 30
01.02.2011, 17:06  [ТС]
Разобрался .... спасибо за екзампл .....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.02.2011, 17:06
Помогаю со студенческими работами здесь

Получить изображение из массива байтов для отображения в html файле
Всем привет. Есть таблица с полем longblob, поле в модели django - BinaryField. Субд MySQL. В этой таблице хранятся картинки, которые...

Как из unordered_map<string, string> получить значение по ключу
У меня есть такая штука. Как мне из нее получить значение по ключу? Я вот хочу написать string str = parents и получить...

Преобразовать массив байтов в string
Доброго времени суток ! Не могу добиться того , что бы массив byte нормально конвертировался в string Всё время выдает странные...

Перевод String в массив байтов
Здравствуйте, как правильно перевести String в массив байтов. В String находится только 1 число. Есть такой код: array&lt;Byte&gt;^msg...

Вычитание массива байтов из массива байтов
Добрый день. Мне нужно получить результирующий массив байтов, вычев первый массив из второго (или наоборот). Начало такое: MD5 md5...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru