cipherData1.toString()
당신이 생각하는대로하지 않습니다.
당신은 아마 원할 것입니다 new String(cipherData1)
.
java.util.Arrays.toString(byte[])
바이트 배열을 표시하는 데 사용 합니다. byte[].toString()
배열의 유형 ( [B
)과 hashCode
.
Base64를 사용하여 바이트 배열을 ASCII 문자열로 인코딩 할 수도 있습니다. Apache commons-codec에는 무료 구현이 있습니다.
-------------------cipherData 및 cipherData1이 바이트 배열로 들어 오므로이를 문자열로 변환해야합니다. 배열 클래스에서 사용할 수있는 .toString ()은 일반 .toString ()이며 실제로 반환되지 않습니다. 문자열 형식으로 바이트 배열, 당신이해야 할이 작업을 수행 System.out.println(new String(cipherData))
하고 System.out.println(new String(chiperData1))
메모리 인쇄 전에 그 안에 문자열에 할당하는 것보다 더 나은 것을 끝있다.
편집 : 추가 된 노트에, 당신이 가진 플랫폼 간 통신을 수행하려고합니다 생각도 인코딩을 명시하는 경우, 즉 :
- new String(cipherData, "UTF-8")
-new String(cipherData, "ISO-8859-1")
출처
https://stackoverflow.com/questions/7414996