JWT payload (claims, body) 부 암호화 및 복호화 방법 JWT를 사용하는것 자체가 암호화된 json 문자열로 전송을 하는건데 무슨 암호화 및 복호화를 또 하느냐!? 암호화가 된다 하더라도 jwt.io 에서 알고리즘만 알고 있다면 다시 복호화된 값으로 볼수 oingdaddy.tistory.com 위에 나온것처럼 AES를 사용해서 암호화를 했는데 Invalid AES key length 오류가 발생하는 경우가 있다. 이것은 정말 명확한 오류 메세지이다. 글자수가 잘못되었다는 것이다. AES 암호화를 하는데 사용되는 Key는 16, 24, 32 byte 여야 한다. public class Aes256Util { final static String secretKey = "oingisprett..
JWT를 사용하는것 자체가 암호화된 json 문자열로 전송을 하는건데 무슨 암호화 및 복호화를 또 하느냐!? 암호화가 된다 하더라도 jwt.io 에서 알고리즘만 알고 있다면 다시 복호화된 값으로 볼수 있다. 그래서 보통 JWT로 통신을 할때는 payload에 중요한 정보를 넣지 않는것이 권장이 된다. userId, expireTime 등등의 정보만 보통은 가지고 있다. 하지만 중요한 정보를 payload에 넣어야 될수도 있고 userId도 노출이 되면 안되는 경우도 있다. 이럴 경우에는 payload 부분을 암호화를 해줘야 한다. 서로 통신을 하는 것이므로 단방향 암호화는 사용할 수 없고 양방향 암호화를 사용해야 한다. 양방향 암호화의 대표적인 알고리즘은 AES(Advanced Encryption Sta..