Convert between String/Hex/Byte - wrong format?
Convert between String/Hex/Byte - wrong format? I am trying to convert a bitcoin address and have the following code from here ( Calculate Segwit address from public address , 2nd answer): Step1: $ printf 1L88S26C5oyjL1gkXsBeYwHHjvGvCcidr9 > adr.txt Step2: $ printf $( cat adr.txt | sed 's/[[:xdigit:]]\{2\}/\\x&/g' ) >adr.hex Step3: $ openssl dgst -sha256 -binary <adr.hex >tmp_sha256.hex Step4: $ openssl dgst -ripemd160 <tmp_sha256.hex ## result should be: 56379c7bcd6b41188854e74169f844e8676cf8b8 Now I want to do this in Java. I currently have the following code. No matter what I try, I dont get the correct result. :( String address = "1L88S26C5oyjL1gkXsBeYwHHjvGvCcidr9"; // step 1 System.out.println("address: " + address); byte[] addressHex = address.getBytes(StandardCharsets.UTF_8); // step 2 MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest(addressHex); // step 3 ...