Удивительно (для меня), этот код не делает то, что я хочу:
fun ByteArray.toHexString() : String {
return this.joinToString("") { it.toString(16) }
}
Оказывается, Byte
подписано, поэтому вы получаете отрицательные шестнадцатеричные представления для отдельных байтов, что приводит к совершенно ложному конечному результату.
Кроме того, Byte.toString
не будет добавлять начальные нули, которые вам здесь нужны.
Что самое простое (без дополнительных библиотек, в идеале без расширений) соотв. самое эффективное исправление?
0xFF.toByte().toString(16)
- person Moira   schedule 07.09.2018-
в хэшах SHA-256. - person Raphael   schedule 07.09.20180x00
до0xFF
. Все варианты на этой странице дают одинаковый результат... что мне здесь не хватает? - person Roland   schedule 07.09.2018ByteArray
? - person Roland   schedule 07.09.2018ByteArray
, подверг их хэшированию и шифрованию (отдельно) с помощью BouncyCastle. Невозможно воспроизвести без криптоэлементов, да. - person Raphael   schedule 07.09.2018