DEV Community

Rafsan Ahmed Riki
Rafsan Ahmed Riki

Posted on

1

🚀 ā§¨āĻāĻĢāĻ āĻ…āĻĨā§‡āĻ¨ā§āĻŸāĻŋāĻ•ā§‡āĻļāĻ¨ āĻ…ā§āĻ¯āĻžāĻĒ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻšāĻŽāĻ•āĻĒā§āĻ°āĻĻ āĻ¤āĻĨā§āĻ¯!

āĻ†āĻĒāĻ¨āĻŋ āĻšāĻ¯āĻŧāĻ¤ā§‹ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡ Google Authenticator āĻŦāĻž Authy-āĻāĻ° āĻŽāĻ¤ā§‹ ā§¨āĻāĻĢāĻ (Two-Factor Authentication) āĻ…ā§āĻ¯āĻžāĻĒ HOTP (Counter-based) āĻŦāĻž TOTP (Time-based) āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŦāĻžāĻ° āĻšāĻ˛ā§āĻ¨, āĻāĻ° āĻ—āĻ­ā§€āĻ°ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻœāĻžāĻ¨āĻŋ!
🔍 ā§§. āĻ•ā§‡āĻ¨ OTP āĻ āĻŋāĻ• ā§Ŧ āĻĄāĻŋāĻœāĻŋāĻŸā§‡āĻ° āĻšāĻ¯āĻŧ?āĻ­ā§‡āĻŦā§‡ āĻĻā§‡āĻ–ā§‡āĻ›ā§‡āĻ¨ āĻ•āĻ–āĻ¨ā§‹, āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— OTP ā§Ŧ āĻĄāĻŋāĻœāĻŋāĻŸā§‡āĻ° āĻ•ā§‡āĻ¨? āĻāĻŸāĻŋ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹āĻ­āĻžāĻŦā§‡ āĻ āĻŋāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ!

👉 TOTP (RFC 6238) SHA-1 āĻšā§āĻ¯āĻžāĻļāĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĄāĻžāĻ‡āĻ¨āĻžāĻŽāĻŋāĻ• āĻŸā§āĻ°āĻžāĻ™ā§āĻ•ā§‡āĻļāĻ¨ (Dynamic Truncation) āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ ā§Šā§§-āĻŦāĻŋāĻŸ āĻāĻ•ā§āĻ¸āĻŸā§āĻ°āĻžāĻ•ā§āĻŸ āĻ•āĻ°ā§‡, āĻ¯āĻž ā§Ļ āĻĨā§‡āĻ•ā§‡ ā§¯ā§¯ā§¯,ā§¯ā§¯ā§¯-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŽāĻžāĻ¨ āĻ°āĻžāĻ–ā§‡â€”āĻĢāĻ˛āĻžāĻĢāĻ˛: ā§Ŧ-āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° OTP!

👉 āĻ•āĻŋāĻ›ā§ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ ā§Ž āĻĄāĻŋāĻœāĻŋāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻ°āĻ“ āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻ°āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤

🌎 ā§¨. āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻ•āĻŋ āĻāĻ•āĻ‡ TOTP āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ?āĻšā§āĻ¯āĻžāĻ! āĻ¯ā§‡āĻšā§‡āĻ¤ā§ TOTP āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻ‡ āĻ¸āĻŋāĻ•ā§āĻ°ā§‡āĻŸ āĻ•āĻŋ āĻ“ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ“āĻĒāĻ°, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ…āĻĨā§‡āĻ¨ā§āĻŸāĻŋāĻ•ā§‡āĻļāĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§‡ (Google Authenticator, Authy) āĻāĻ•āĻ‡ āĻ¸āĻŋāĻ•ā§āĻ°ā§‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

📌 āĻ•āĻŋāĻ­āĻžāĻŦā§‡?
👉 āĻ¯āĻ–āĻ¨ QR āĻ•ā§‹āĻĄ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°ā§‡āĻ¨, āĻ¸ā§‡āĻŸāĻŋ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨! āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻā§āĻāĻ•āĻŋāĻĒā§‚āĻ°ā§āĻŖ, āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšā§āĻ¯āĻžāĻ• āĻšāĻ˛ā§‡ āĻ¸āĻŦ OTP āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤

📡 ā§Š. TOTP āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ›āĻžāĻĄāĻŧāĻž āĻšāĻ˛ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ SMS OTP āĻ•ā§‡āĻ¨ āĻ¨āĻ¯āĻŧTOTP āĻ…ā§āĻ¯āĻžāĻĒ āĻļā§āĻ§ā§ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĢā§‹āĻ¨ā§‡āĻ° āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ‡ āĻāĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤
SMS OTP āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻ¸āĻŋāĻŽ āĻ¸ā§āĻ‡āĻšāĻŋāĻ‚ (SIM Swap) āĻšāĻžāĻŽāĻ˛āĻžāĻ° āĻļāĻŋāĻ•āĻžāĻ° āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

đŸ”Ĩ ā§Ē. āĻ¯āĻĻāĻŋ āĻĢā§‹āĻ¨ā§‡āĻ° āĻ˜āĻĄāĻŧāĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ­ā§āĻ˛ āĻĨāĻžāĻ•ā§‡TOTP āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻ­ā§āĻ˛ āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§āĻ¸ āĻŸāĻžāĻ‡āĻŽā§‡āĻ° āĻ“āĻĒāĻ°āĨ¤
👉 āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĢā§‹āĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ­ā§āĻ˛ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ OTP āĻŽā§āĻ¯āĻžāĻš āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž!
✅ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨: āĻĢā§‹āĻ¨ā§‡āĻ° "Automatic Time Sync" āĻ…āĻĒāĻļāĻ¨ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ•āĻŋāĻ›ā§ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° Âąā§¨ āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻŽā§‡āĻ¨ā§‡ āĻ¨ā§‡

🛡ī¸ ā§Ģ. āĻšā§āĻ¯āĻžāĻ•āĻžāĻ°āĻ°āĻž āĻ•āĻŋ TOTP āĻ•ā§‹āĻĄ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡?
👉 ā§Ŧ-āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° TOTP-āĻ¤ā§‡ ā§§ā§Ļ āĻ˛āĻ•ā§āĻˇ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ•āĻŽā§āĻŦāĻŋāĻ¨ā§‡āĻļāĻ¨ āĻĨāĻžāĻ•ā§‡āĨ¤
👉 āĻ¯ā§‡āĻšā§‡āĻ¤ā§ OTP ā§Šā§Ļ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻĒāĻ°āĻĒāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ˛āĻŋāĻŽāĻŋāĻŸā§‡āĻĄ āĻ˛āĻ—āĻ‡āĻ¨ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻŦā§āĻ°ā§āĻŸ āĻĢā§‹āĻ°ā§āĻ¸ (Brute Force) āĻšāĻžāĻŽāĻ˛āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ…āĻ¸āĻŽā§āĻ­āĻŦ!

❌ āĻ¤āĻŦā§‡ āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ•ā§āĻ°ā§‡āĻŸ āĻ•āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡ āĻ…āĻ¨āĻ¨ā§āĻ¤āĻ•āĻžāĻ˛ OTP āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡! āĻ¤āĻžāĻ‡ āĻ¸āĻŋāĻ•ā§āĻ°ā§‡āĻŸ āĻ•āĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ–ā§āĻŦ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚

👀ā§Ŧ. TOTP-āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡āĻ“ āĻŦā§‡āĻļāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻ•ā§€?✅ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻ°āĻŋāĻŸāĻŋ āĻ•āĻŋ (āĻ¯ā§‡āĻŽāĻ¨ YubiKey) 🔑

✅ Passkeys (FIDO2/WebAuthn) 📲
āĻāĻ—ā§āĻ˛ā§‹ āĻĢāĻŋāĻļāĻŋāĻ‚-āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§ā§€, āĻ•āĻžāĻ°āĻŖ āĻāĻ–āĻžāĻ¨ā§‡ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻ•ā§‹āĻĄ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻŦāĻ°āĻ‚ āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‹āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…āĻĨā§‡āĻ¨ā§āĻŸāĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻ¯āĻŧāĨ¤

💡 āĻļā§‡āĻˇ āĻ•āĻĨāĻž: TOTP āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻšāĻ˛ā§‡āĻ“ ā§§ā§Ļā§Ļ% āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ•ā§‹āĻĄ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨, āĻ°āĻŋāĻ•āĻ­āĻžāĻ°āĻŋ āĻ‡āĻŽā§‡āĻ‡āĻ˛ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻ°āĻžāĻ–ā§āĻ¨, āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ˛ā§‡ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ…āĻĨā§‡āĻ¨ā§āĻŸāĻŋāĻ•ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨!
🔁 āĻĒā§‹āĻ¸ā§āĻŸāĻŸāĻŋ āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻ¯āĻĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻŋāĻ›ā§ āĻļāĻŋāĻ–ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨! đŸ”Ĩ🔒
Activate to view larger image,

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post