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

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

01.02.2011, 01:44. Показов 2138. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru