Я писал консольную программку для шифрования полученной строки. После написания, я заметил, что зашифрованная строка (полученный массив байтов) выглядит не так как мне нужно, а именно она выглядит так : 63-64-89-84-16-121-1173-844338107-81-108-72-79, мне нужно получить эту строку в таком виде 3fc0a7acf087f549ac2b266baf94b8b1, т.е. в 16-ом представлении
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Main
{
public static void main(String[] args) throws NoSuchAlgorithmException {
MessageDigest md5_cy = MessageDigest.getInstance("MD5");
String str = new String("qwerty123");
byte[] bytes = md5_cy.digest(str.getBytes());
for (byte V : bytes)
System.out.print(V);
}
}
` И такой вопрос: Как полученный массив байтов привести в 16-й вид?
Представить массив байт как hex-строку можно через DatatypeConverter:printHexBinary:
MessageDigest md5_cy = MessageDigest.getInstance("MD5");
String str = "qwerty123";
byte[] bytes = md5_cy.digest(str.getBytes());
String hex = DatatypeConverter.printHexBinary(bytes);
System.out.println(hex); // 3FC0A7ACF087F549AC2B266BAF94B8B1
System.out.println(hex.toLowerCase()); // 3fc0a7acf087f549ac2b266baf94b8b1
Сборка персонального компьютера от Artline: умный выбор для современных пользователей