-1
이 내 자바 프로그램입니다? 안전한 websocket 채널을 설정하고 싶습니다. RSA 알고리즘을 사용해 보았습니다. 아쉽게도 128 바이트보다 큰 메시지 크기를 지원하지 않습니다.자바 디코드 AES 암호화 메시지 문제
나는 here의 예를 따른다. 그것은 자바 측에서 잘 작동하지만, 나는 자바 스크립트 측면에서 SealedObject를 보내는 법을 모르기 때문에 데드 엔드를 다시한다. 다음과 같은
Java 프로그램 출력 :
Key=hlnUjh4GM1PegSzl13YFQgI5+I1qcbsmqlBV8vDsVy0=|
IV=ZkqiRuDS7YUrjZMLRr/gfQ==|
Encrypted Text=HFROj40Qh9YagJAS+7saN2/ugqszCPpmjT9Qwy2yt9dCntSbpbYqTt/tW0ju5QO614+S9zQyOdBXFKtNdDew9Ouo9YkmRgRkjY7NNGyVbt+Z5CYCgcwpRmNUuH7Fqyat5H3hFSUi05UyLLA6lIa47wyP7jKsq0rtj1yHth8qN06aisB18s4Cf9YBPbUM72qXS+IcpKLMWEVVw7Q0qA91WRCt9y93SptNUme75D/qCKyym20UJ5f0ZCgijOnnsbWJKci1R179qZ8UthFBjqcZm88VmV1UuA7OsAvzxsyA7iVtwsf9u6UnrlOtoMTl41Q5nLod4unkdbomrXb6hDKhV9ThtCy1ZWPFHhKbEAPMdzUnmmBSwcuGSTKvdPJeHAWH|
Decrypted text=abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
포스트 here에 따르면, 크립토 JS 성공적 자바 출력을 디코딩 할 수있다.
그러나 Java 프로그램은 javascript 출력을 성공적으로 디코딩 할 수 없습니다. 여기
<script src="js/cryptojs/rollups/aes.js"></script>
<script src="js/cryptojs/components/mode-ctr-min.js"></script>
<script language=javascript>
..................
var result;
var encoded=CryptoJS.AES.encrypt("hello",
keyArray,
{
iv: ivArray,
mode: CryptoJS.mode.CTR,
padding: CryptoJS.pad.Pkcs7
});
result=encoded.ciphertext.toString(CryptoJS.enc.Base64);
</script>
내 자바 프로그램 내 자바 스크립트 progarm입니다 :
byte iv[] = new byte[16];
SecureRandom secRandom = new SecureRandom() ;
secRandom.nextBytes(iv);
Cipher decipher = Cipher.getInstance("AES/CTR/PKCS5PADDING");
decipher.init(Cipher.DECRYPT_MODE, aesKey,new IvParameterSpec(iv));
byte[] cipherTextInByteArr =Base64.getDecoder().decode(encodedText);
byte[] plainTextInByteArr = decipher.doFinal(cipherTextInByteArr);
String result=new String(plainTextInByteArr,"UTF-8");
그러나, 출력은 "안녕하세요 ???????". 문제가 있습니까?
RSA는 전체 메시지를 암호화하는 데 사용되지 않습니다,하지만 대칭 일반적으로 다른 암호화 알고리즘에 대한 키 (암호화하기 :
그리고 자바 프로그램처럼)를 사용하여 메시지를 암호화합니다. –
자바를 사용하여 메시지를 인코딩 한 경우에도 실제로 자바에 관한 것입니다. 따라서 [tag : java] 태그는 여기에 적합하지 않습니다. –
또한 책, 도구, 소프트웨어 라이브러리, 자습서 또는 기타 오프 사이트 리소스를 추천하거나 찾도록 요청하는 질문은 독단적 인 답변 및 스팸을 유치하는 경향이 있으므로 스택 오버플로에 대한 주제와 관련이 없습니다. 대신, [문제 설명] (http://meta.stackoverflow.com/questions/254393) 및 지금까지 해결 된 사항은 무엇입니까? –