DevToolPal
TR

TOTP / HOTP Kod Üretici

Base32 gizli anahtardan veya otpauth:// URI’sinden iki faktörlü doğrulama kodları (TOTP ve HOTP) üretin; SHA-1/256/512, 6–8 hane ve canlı geri sayım.

Yerelde çalışır, asla yüklenmez

Seçenekler

Tür
Hane
Zaman adımı

Gizli anahtar (Base32) veya otpauth:// URI

Kodlar

Sonuç burada görünür

Ne işe yarar

Google Authenticator, Microsoft Authenticator ve 1Password gibi iki faktörlü doğrulama uygulamaları her 30 saniyede değişen altı haneli kodlar gösterir. Her kod, paylaşılan bir gizli anahtardan hesaplanan tek kullanımlık bir paroladır: TOTP (RFC 6238) zamanı, HOTP (RFC 4226) bir sayacı kullanır. Bu araç aynı kodları gizli anahtardan hesaplar; böylece bir 2FA kurulumunu test edebilir, sunucu tarafı uygulamada hata ayıklayabilir veya bir kodun ne olması gerektiğini kontrol edebilirsiniz.

Geçerli kodu canlı geri sayımla, ayrıca sunucuların küçük saat farklarını karşılamak için sıkça kabul ettiği önceki ve sonraki kodu gösterir.

Nasıl kullanılır

  1. Base32 gizli anahtarı (A–Z harfleri ve 2–7 rakamları; boşluk ve büyük/küçük harf önemsizdir) ya da bir QR koddan alınmış tam otpauth:// URI’sini yapıştırın. Denemek için Örnek düğmesine tıklayın.
  2. TOTP veya HOTP seçin; algoritmayı, haneyi ve zaman adımını hesaba göre ayarlayın. otpauth URI’sindeki ayarlar önceliklidir.
  3. HOTP için sayacı girin ve kodlar arasında Sayaç +1 ile ilerleyin.
  4. Geçerli kodu kopyalayın. Geri sayım, kodun ne kadar süre geçerli kalacağını gösterir.

Örnek

Demo gizli anahtarı JBSWY3DPEHPK3PXP, “Hello!” baytlarının ardından 0xDEADBEEF gelen dizinin Base32 halidir. Aşağıdaki URI, bir QR kodda kodlandığı haliyle, bunu varsayılan ayarlarla kullanan bir hesabı tanımlar:

otpauth://totp/Example:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example&algorithm=SHA1&digits=6&period=30

Unix zamanı 1700000000’de bu anahtar 324 550 kodunu verir ve pencerede 10 saniye kalmıştır.

Kod nasıl hesaplanır

Gizli anahtar Base32’den baytlara çözülür. TOTP’de sayaç, saniye cinsinden Unix zamanının zaman adımına bölünüp aşağı yuvarlanmasıyla bulunur. Sayaç 8 bayt olarak yazılır ve gizli anahtarla HMAC ile imzalanır. Dinamik kırpma, HMAC çıktısının son yarım baytına göre 4 bayt seçer ve sayı, baştaki sıfırlar korunarak istenen hane sayısına indirgenir.

SSS

› Kodum neden doğrulama uygulamamdaki kodla eşleşmiyor?

TOTP kodları saate bağlıdır; önce cihaz saatinin otomatik ayarlandığını kontrol edin. Ardından algoritma, hane sayısı ve zaman adımının hesapla eşleştiğini kontrol edin. Çoğu hizmet SHA-1, 6 hane ve 30 saniye kullanır; doğrulama uygulamaları QR kodda belirtilmedikçe diğer ayarları yok sayar.

› TOTP ile HOTP arasındaki fark nedir?

TOTP (RFC 6238) sayaç olarak geçerli zamanın zaman adımına bölümünü kullanır, bu yüzden kod her 30 saniyede değişir. HOTP (RFC 4226) her kod kullanıldığında bir artan bir sayaç kullanır. İkisi de gizli anahtarı ve sayacı HMAC’ten geçirip son 6–8 haneyi alır.

› Gizli anahtarım bir yere kaydediliyor veya gönderiliyor mu?

Hayır. Kodlar tarayıcınızda Web Crypto API ile hesaplanır. Gizli anahtar kaydedilmez, adres çubuğuna yazılmaz ve paylaşım bağlantılarına eklenmez; paylaşılan bağlantı yalnızca ayarları taşır. Yine de bir 2FA anahtarı ikinci faktöre tam erişim sağlar, bu yüzden yalnızca size ait anahtarları yapıştırın.

› Kendi uygulamama iki faktörlü doğrulama eklerken bunu kullanabilir miyim?

Evet. 160 bitlik bir Base32 anahtar oluşturmak için Rastgele gizli anahtar düğmesine tıklayın, bunu kullanıcılarınıza otpauth:// URI’si veya QR kod olarak verin ve sunucunuzun ürettiği kodları burada gösterilenlerle karşılaştırın. Sunucular saat kaymasını tolere etmek için genellikle önceki ve sonraki kodu da kabul eder.