Java converts byte array to Hex16 string

Java converts byte array to Hex hexadecimal string

Convert the result array of digest to hexadecimal

Assuming the result has been obtained: resultByteArray

How to convert it to hexadecimal

 public static String bytesToHex(byte[] bytes) {<!-- -->
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < bytes. length; i ++ ) {<!-- -->
            sb.append(String.format("x", bytes[i]));
        }
        return sb.toString();
    }
    String resultHex = bytesToHex(resultByteArray)

lower case

public static String hexLowerCaseFromByteArray(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789abcdef";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
sb.append(simple.charAt((b & amp;0xff)>>>4)).append(simple.charAt(b<<28>>>28));
}
return sb.toString();
}
String resultHex = bytesToHex(resultByteArray)

capital

 public static String hexUpperCaseFromByteArray(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
sb.append(simple.charAt((b & amp;0xff)>>>4)).append(simple.charAt(b<<28>>>28));
}
return sb.toString();
}
String resultHex = bytesToHex(resultByteArray)
 public static String hexLowerCaseFromByteArray2(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789abcdef";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
sb.append(simple.charAt((b & amp;0xff)/16)).append(simple.charAt((b & amp;0xff) ));
}
return sb.toString();
}
\t
public static String hexUpperCaseFromByteArray2(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
sb.append(simple.charAt((b & amp;0xff)/16)).append(simple.charAt((b & amp;0xff) ));
}
return sb.toString();
}
public static String hexLowerCaseFromByteArray3(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789abcdef";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
sb.append(simple.charAt((b & amp;255)/16)).append(simple.charAt((b & amp;255) ));
}
return sb.toString();
}
\t
public static String hexUpperCaseFromByteArray3(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
sb.append(simple.charAt((b & amp;255)/16)).append(simple.charAt((b & amp;255) ));
}
return sb.toString();
}
\t
public static String hexLowerCaseFromByteArray4(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789abcdef";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
int i=b>=0?b:b + 256;
sb.append(simple.charAt(i/16)).append(simple.charAt(i ));
}
return sb.toString();
}
\t
public static String hexUpperCaseFromByteArray4(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
int i=b>=0?b:b + 256;
sb.append(simple.charAt(i/16)).append(simple.charAt(i ));
}
return sb.toString();
}
\t
 public static String hexLowerCaseFromByteArray5(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789abcdef";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
sb.append(simple.charAt(Byte.toUnsignedInt(b)/16)).append(simple.charAt(Byte.toUnsignedInt(b) ));
}
return sb.toString();
}
\t
public static String hexUpperCaseFromByteArray5(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
sb.append(simple.charAt(Byte.toUnsignedInt(b)/16)).append(simple.charAt(Byte.toUnsignedInt(b) ));
}
return sb.toString();
}

test

package method to convert byte array to hexadecimal string;

import java.awt.FileDialog;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileInputStream;
import java.security.MessageDigest;

import javax.swing.JFrame;

public class ByteArrayToHexString {
\t
public static String hexLowerCaseFromByteArray(byte[] byteArray) {
if(byteArray==null) return null;
String simple = "0123456789abcdef";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {
sb.append(simple.charAt((b & amp;0xff)>>>4)).append(simple.charAt(b<<28>>>28));
}
return sb.toString();
}
\t
public static String hexUpperCaseFromByteArray(byte[] byteArray) {
if(byteArray==null) return null;
String simple = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {
sb.append(simple.charAt((b & amp;0xff)>>>4)).append(simple.charAt(b<<28>>>28));
}
return sb.toString();
}
\t
\t
public static String hexLowerCaseFromByteArray2(byte[] byteArray) {
if(byteArray==null) return null;
String simple = "0123456789abcdef";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {
sb.append(simple.charAt((b & amp;0xff)/16)).append(simple.charAt((b & amp;0xff) ));
}
return sb.toString();
}
\t
public static String hexUpperCaseFromByteArray2(byte[] byteArray) {
if(byteArray==null) return null;
String simple = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {
sb.append(simple.charAt((b & amp;0xff)/16)).append(simple.charAt((b & amp;0xff) ));
}
return sb.toString();
}
\t
\t
\t
public static String hexLowerCaseFromByteArray3(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789abcdef";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
sb.append(simple.charAt((b & amp;255)/16)).append(simple.charAt((b & amp;255) ));
}
return sb.toString();
}
\t
public static String hexUpperCaseFromByteArray3(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
sb.append(simple.charAt((b & amp;255)/16)).append(simple.charAt((b & amp;255) ));
}
return sb.toString();
}
\t
\t
public static String hexLowerCaseFromByteArray4(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789abcdef";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
int i=b>=0?b:b + 256;
sb.append(simple.charAt(i/16)).append(simple.charAt(i ));
}
return sb.toString();
}
\t
public static String hexUpperCaseFromByteArray4(byte[] byteArray) {<!-- -->
if(byteArray==null) return null;
String simple = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {<!-- -->
int i=b>=0?b:b + 256;
sb.append(simple.charAt(i/16)).append(simple.charAt(i ));
}
return sb.toString();
}
\t
\t
public static String hexLowerCaseFromByteArray5(byte[] byteArray) {
if(byteArray==null) return null;
String simple = "0123456789abcdef";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {
sb.append(simple.charAt(Byte.toUnsignedInt(b)/16)).append(simple.charAt(Byte.toUnsignedInt(b) ));
}
return sb.toString();
}
\t
public static String hexUpperCaseFromByteArray5(byte[] byteArray) {
if(byteArray==null) return null;
String simple = "0123456789ABCDEF";
StringBuilder sb = new StringBuilder(byteArray. length*2);
for(byte b : byteArray) {
sb.append(simple.charAt(Byte.toUnsignedInt(b)/16)).append(simple.charAt(Byte.toUnsignedInt(b) ));
}
return sb.toString();
}
\t
public static String hexLowerCaseFromByteArray6(byte[] byteArray) {
if(byteArray==null) return null;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < byteArray. length; i ++ ) {
            sb.append(String.format("x", byteArray[i]));
        }
        return sb.toString();
}
\t
\t
public static void main(String...arguments) throws Exception{
JFrame frame = new JFrame(Thread. currentThread(). getStackTrace()[1]. getClassName());
frame.addWindowListener(new WindowAdapter() {
@Override public void windowClosing(WindowEvent ev) {System.exit(0);}
});
FileDialog fDialog = new FileDialog(frame);
\t\t
fDialog.setVisible(true);
\t\t
if(fDialog.getFile()!=null) {
String pathFile = fDialog.getDirectory() + fDialog.getFile();
FileInputStream is = new FileInputStream(pathFile);
MessageDigest digest = MessageDigest. getInstance("SHA-256");
\t\t\t
byte[] bf = new byte[10240];
int numRead;
do {
numRead = is. read(bf);
if (numRead > 0) {
digest. update(bf, 0, numRead);
}
} while (numRead != -1);
\t\t\t
is. close();

byte[] resultByteArray = digest.digest();
\t\t\t
String result;
\t\t\t
result = hexLowerCaseFromByteArray(resultByteArray); System.out.println(result);
result = hexUpperCaseFromByteArray(resultByteArray); System.out.println(result);
result = hexLowerCaseFromByteArray2(resultByteArray); System.out.println(result);
result = hexUpperCaseFromByteArray2(resultByteArray); System.out.println(result);
result = hexLowerCaseFromByteArray3(resultByteArray); System.out.println(result);
result = hexUpperCaseFromByteArray3(resultByteArray); System.out.println(result);
result = hexLowerCaseFromByteArray4(resultByteArray); System.out.println(result);
result = hexUpperCaseFromByteArray4(resultByteArray); System.out.println(result);
result = hexLowerCaseFromByteArray5(resultByteArray); System.out.println(result);
result = hexUpperCaseFromByteArray5(resultByteArray); System.out.println(result);
result = hexLowerCaseFromByteArray6(resultByteArray); System.out.println(result);
}
\t\t
System. exit(0);
}
\t

}