<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OTP on Nalar</title>
    <link>https://nalar.dev/id/tags/otp/</link>
    <description>Recent content in OTP on Nalar</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <lastBuildDate>Sat, 19 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/id/tags/otp/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>OTP Email di Go: Kode Sekali Pakai, Kedaluwarsa, dan Perlindungan Replay</title>
      <link>https://nalar.dev/id/otp-email-di-go-kode-sekali-pakai-kedaluwarsa-dan-perlindungan-replay/</link>
      <pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/otp-email-di-go-kode-sekali-pakai-kedaluwarsa-dan-perlindungan-replay/</guid>
      <description>&lt;h1 id=&#34;otp-email-di-go-kode-sekali-pakai-kedaluwarsa-dan-perlindungan-replay&#34;&gt;OTP Email di Go: Kode Sekali Pakai, Kedaluwarsa, dan Perlindungan Replay&lt;/h1&gt;&#xA;&lt;p&gt;OTP email terlihat sederhana: buat enam digit, kirimkan, lalu bandingkan dengan input pengguna. Namun, batas keamanannya bukan berada pada API email. Bagian pentingnya adalah lifecycle challenge di sisi server.&lt;/p&gt;&#xA;&lt;p&gt;Implementasi yang benar harus membuat kode sulit ditebak, membatasi masa berlakunya, membatasi tebakan, menonaktifkan challenge lama ketika diperlukan, dan memastikan kode yang sudah berhasil dipakai tidak dapat dikonsumsi untuk kedua kalinya. Properti ini berbeda dari TOTP, meskipun keduanya sering disebut OTP.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
