@SankaSanka

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

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

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

K21ZG4GJpDjS26p1Ksn3U9JTJJr1Dt3ffwdEZLzjonMoN3AUHtxh
(private key bitcoin)

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

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

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


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

8eef4048cff20030tt08b5b03d237ad829eae0fe880284c6de149800a86a

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

Заранее огромное спасибо :)
  • Вопрос задан
  • 291 просмотр
Пригласить эксперта
Ответы на вопрос 2
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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы