## 개요 - 시간 값을 기준으로한 message와 공유되는 key를 [[HMAC]]으로 조합헤사 민든 패스워드이다. - message는 '유닉스 타임으로부터 얼마나 많은 토큰 생성 간격이 지났나' 이다. - 보통 토큰 생성 간격은 30초이다. - `message = Math.floor(new Date().getTime() / (30 * 10000)` - 공유키는 base32로 만든다. - [[HMAC]] 알고리즘은 보통 sha1을 사용한다. ## 참고 - https://chinsun9.github.io/2020/11/05/otp-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0/ - https://datatracker.ietf.org/doc/html/rfc6238 #security