Задать вопрос
  • Как сделать правильный хеш из строки?

    @megusius
    При преобразовании входящего набора битов в BigInteger теряются начальные байты, если они равны 0 (00000000 в битовом представлении).
    Пример:
    Вводим два байта (пробел вставлен для удобства восприятия): 00000000 00000001
    Ожидаем, что byte [] data будет содержать {0 , 1}
    По факту byte [] data содержит {1}, т.к. new BigInteger(noliki, 2) будет равно 1 и при преобразовании toByteArray() вернет {1}
    Ответ написан
    Комментировать