데이터 교환을 암복호화를 써서 하는 api 를 개발중인데 갑자기 위와 같은 에러가 발생했다. (사실 금요일이라 뭔가 엉뚱한게 땡겼다. 그래서 뜬금없이 암복호화를 만들어보기로 했다. 근데 잘안된다. 완전 막힘. )
javax.crypto.IllegalBlockSizeException: Data must not be longer than 245 bytes
무슨 말이냐면 즉 Data 는 245 바이트보다 길어서는 안된다는 이야기다. 역시나 변환하려고 하는 데이터가 좀 길다 싶었는데 이런 에러가 터지게 되었다.
이렇게 놓고 보니까 에러가 안나는게 오히려 이상한것 같기도 하다.
해결방법은 간단하다.
그냥 공개키는 키 교환에만 사용하고 데이터는 대칭키를 사용해서 암복호화하는 것이 가장 좋을 것 같다.
즉 전자서명에서 쓰는 방식처럼 써야할까 싶다. 근데 이걸 직접 만들어서 쓸까 아니면 가져다쓸까 하는게 고민일 뿐... 어떡하죵...
(아래에 내 레포지토리를 첨부해두겠다. 시간날때마다 업데이트할 예정. )
https://github.com/yuny0623/2Hash
반응형
'Computer Security' 카테고리의 다른 글
[Bouncy-Castle] 자바 암호화 라이브러리 Bouncy-Catsle 을 사용해보자. (0) | 2022.04.09 |
---|---|
[Cipher] Elgamal - 엘가말 암호 (0) | 2021.10.31 |
[Security] 컴퓨터보안에서 부인방지란 무엇일까? (0) | 2021.10.29 |
[RSA] Extended Euclidean Algorithm - 확장된 유클리디안 알고리즘 (0) | 2021.10.10 |
[AES] AES encrption 코드 분석 (0) | 2021.09.14 |