다른 라이브러리가없는 Java 8 만 사용하여 5 분 만료되는 고유 토큰을 생성해야하지만 DB에 생성 시간을 저장하는 대신 생성을 저장하고 싶습니다 나중에 사용할 때 디코드 할 토큰 내부의 시간.내부에 생성 시간이있는 고유 토큰 생성
어떻게하면됩니까?
다른 라이브러리가없는 Java 8 만 사용하여 5 분 만료되는 고유 토큰을 생성해야하지만 DB에 생성 시간을 저장하는 대신 생성을 저장하고 싶습니다 나중에 사용할 때 디코드 할 토큰 내부의 시간.내부에 생성 시간이있는 고유 토큰 생성
어떻게하면됩니까?
이것은 당신이 그럼 당신은 희망이 도움이 당신이 token_time
변수 와 가장 원하는 무엇을 할 수
String token = UUID.randomUUID().toString() + ":" + System.currentTimeMillis();
String[] t = token.split(":");
String token_time = t[1];
질문의 답변입니다
당신은 단순히 연결된 두 부분으로 구성 토큰 생성 할 수 있습니다
쉽게 변경할 수 없도록 만들기 시간을 가져 와서 MAC을 추가하십시오. 그러나 이것은 밀리 초당 하나 이상의 토큰을 발행하는 경우 고유하지 않습니다. 필요한 경우 카운터 값을 추가 할 수 있습니다. – Henry
이것은 프로그래밍 문제가 아닌 개념적 문제로 보입니다. 생성 시간은'System.currentTimeMillis()'를 통해 얻을 수 있습니다. '길다'로하는 일은 토큰의 성격과 필요한 보안의 종류에 따라 다릅니다. 또는 토큰의 정확성을 검증하는 방법. 나는 아직도 데이터베이스 스토리지가 있어야한다고 생각하지 않습니까? – Holger