JAVA/Java 일반
java jjwt라이브러리를 이용한 알고리즘에 맞는 Secretkey 생성
달사자!
2023. 3. 17. 10:20
jjwt를 사용해서 보통 JWT 처리를 하는데 혹시 secretKey 기존에 대충 만들었다면(길이가 짧게) 0.10.0 버전부터 에러가 발생함
- https://github.com/jwtk/jjwt/issues/334
이에 간단히 사용하는 SecretKey 생성 소스
import io.jsonwebtoken.SignatureAlgorithm;
import io.jsonwebtoken.io.Encoders;
import io.jsonwebtoken.security.Keys;
import javax.crypto.SecretKey;
public class JwtSecretKeyMaker {
/**
* JJWT secretKey를 생성할때 알고리즘에 맞는 length로 만듬
* - https://github.com/jwtk/jjwt#jws-key-create
* - jjwt 0.10.0 부터는 length가 작으면 에러가 발생함: https://github.com/jwtk/jjwt/issues/334
*
* @param args
*/
public static void main(String[] args) {
//Creating Safe Keys(length: 256bit))
SecretKey key = Keys.secretKeyFor(SignatureAlgorithm.HS256); // HS256: HMAC-SHA256
String secretString = Encoders.BASE64.encode(key.getEncoded());
System.out.println(secretString);
}
}