컴퓨터 보안

[RSA] javax.crypto.IllegalBlockSizeException: Data must not be longer than 245 bytes 에러 발생

Razelo 2022. 4. 8. 17:50

 

데이터 교환을 암복호화를 써서 하는 api 를 개발중인데 갑자기 위와 같은 에러가 발생했다. (사실 금요일이라 뭔가 엉뚱한게 땡겼다. 그래서 뜬금없이 암복호화를 만들어보기로 했다. 근데 잘안된다. 완전 막힘. )

 

javax.crypto.IllegalBlockSizeException: Data must not be longer than 245 bytes

 

무슨 말이냐면 즉 Data 는 245 바이트보다 길어서는 안된다는 이야기다. 역시나 변환하려고 하는 데이터가 좀 길다 싶었는데 이런 에러가 터지게 되었다. 

 

 

이렇게 놓고 보니까 에러가 안나는게 오히려 이상한것 같기도 하다. 

 

해결방법은 간단하다. 

 

그냥 공개키는 키 교환에만 사용하고 데이터는 대칭키를 사용해서 암복호화하는 것이 가장 좋을 것 같다. 

즉 전자서명에서 쓰는 방식처럼 써야할까 싶다. 근데 이걸 직접 만들어서 쓸까 아니면 가져다쓸까 하는게 고민일 뿐... 어떡하죵... 


(아래에 내 레포지토리를 첨부해두겠다. 시간날때마다 업데이트할 예정. )

https://github.com/yuny0623/2Hash

 

GitHub - yuny0623/2Hash

Contribute to yuny0623/2Hash development by creating an account on GitHub.

github.com

 

반응형