Задать вопрос
@SankaSanka

Как получить хеш из строки средствами Java?

Пытаюсь реализовать на Java

приходит стринг. например "Вася!".
на выходе хочу получить строку вида

K21ZG4GJpDjS26p1Ksn3U9JTJJr1Dt3ffwdEZLzjonMoN3AUHtxh
(private key bitcoin)

насколько я разобралась это Хеш256.

Но когда я пытаюсь сделать

String sha256hex = org.apache.commons.codec.digest.DigestUtils.sha256Hex("Вася!");


мне выдает строку вида :

8eef4048cff20030tt08b5b03d237ad829eae0fe880284c6de149800a86a

как мне получить нужный мне вид хеша из строки?

Заранее огромное спасибо :)
  • Вопрос задан
  • 386 просмотров
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
2ord
@2ord
K21ZG4GJpDjS26p1Ksn3U9JTJJr1Dt3ffwdEZLzjonMoN3AUHtxh
- это хэш по основанию 62 (A-Z, a-z, 0-9). Как он был получен - не имею понятия. Был ли private key bitcoin получен путем простого вычисления хэша от строки - не знаю.
При вычислении хэша от строки обычно берется алгоритм md5, sha-1, sha256 или другие, в зависимости от целей. На выходе получится массив битов фиксированной длины. Так вот, нужно преобразовать его в массив символов по основанию 62, где 0-61-е знаки будут представлены алфавитом A-Z, a-z, 0-9.
Ответ написан
@rPman
https://bitcoinj.org/
куча методов по работе с биткоин, в т.ч. с приватными ключами, генерация валидация, подписывание строк текста на основе приватного ключа вашего адреса и т.п.

например чтобы подписать или проверить подпись сообщения нужно использовать метод org.bitcoinj.core.ECKey.signMessage(String message) создав предварительно ключ ECKey
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы