RFCはこれ。Javaでの実装例もアリ: RFC 6238 - TOTP: Time-Based One-Time Password Algorithm RFCも十分短いけど、Wikipediaのほうはさらに簡潔: Time-based One-time Password Algorithm - Wikipedia, the free encyclopedia 日本語での参照情報: Googleの2段階認証で使われているOTPの仕様が気になった - r-weblife RFCに書いてある実装使うとかでサクッとワンタイムパスワードを生成できるので、もっと普及するといいですね。その場合はシークレットの扱いは適切にお願いします。 認証の概要 サーバーと共有しているシークレットキーと現在時刻からハッシュを生成してそれが合ってるかをみる、というのが大筋の流れ。 ワンタイムパスワードの生成 Wikip
![RFC6238 Time-based One-time Password Algorithm (TOTP)の仕組みのメモ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/6a9b5afda58e6d392b71ef00fb6e837193e89b5f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UkZDNjIzOCUyMFRpbWUtYmFzZWQlMjBPbmUtdGltZSUyMFBhc3N3b3JkJTIwQWxnb3JpdGhtJTIwJTI4VE9UUCUyOSVFMyU4MSVBRSVFNCVCQiU5NSVFNyVCNSU4NCVFMyU4MSVCRiVFMyU4MSVBRSVFMyU4MyVBMSVFMyU4MyVBMiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NGQzNWUzODRjYTIyMjFiOTg2ZTIyZTJlYTI2OTJmMzI%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBzaHJrdyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZDE4OTY0MWRhYjZkNTI3ZDVhMGFjOGM5ZGYwMWNjMmI%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D1c775c790d9fc09bb06147a7bac511bd)