我使用了apache codec base64库进行了一个POC,其中我使用SHA算法加密了一个字符串。(这个可以忽略)
步骤1 - 我打印了该字符串的字节数组。
步骤2 - 对字节数组进行编码并打印其值。
步骤3 - 对编码后的值进行解码并打印它。
public static void main(String[] args)
{
MessageDigest messageDigest = null;
String ALGORITHM = "SHA";
try
{
messageDigest = MessageDigest.getInstance(ALGORITHM);
byte[] arr = "admin1!".getBytes();
byte[] arr2 = messageDigest.digest(arr);
System.out.println(arr2);
String encoded = Base64.encodeBase64String(arr2);
System.out.println(encoded);
byte[] decoded = Base64.decodeBase64(encoded);
System.out.println(decoded);
}
catch (NoSuchAlgorithmException e)
{
e.printStackTrace();
}
}
期望结果:步骤1和步骤3应该产生相同的输出。 但是我没有得到那个。
输出:
[B @ 5ca801b0
90HMfRqqpfwRJge0anZat98BTdI =
[B @ 68d448a1