DevToys Web Pro iconDevToys Web Proوبلاگ
به ما امتیاز دهید:
افزونه مرورگر را امتحان کنید:

رمزگذار / رمزگشای Base32

معتبر

متن رمزگشایی‌شده

  • Base32 رمزگذاری‌شده

  • Loading editor...
    Loading editor...
    جزئیات فنی

    نحوهٔ کارکرد رمزگذار/رمزگشای Base32

    این ابزار چه کاری انجام می‌دهد

    رمزگذار/رمزگشای Base32 داده‌ها را به قالب Base32 و از آن تبدیل می‌کند؛ یک طرح کدگذاری دودویی‌به‌متن که از ۳۲ نویسهٔ قابل‌چاپ ASCII (A–Z و 2–7) استفاده می‌کند. این روش طوری طراحی شده است که برای انسان‌ها خوانا باشد و به بزرگی/کوچکی حروف حساس نباشد؛ بنابراین برای محیط‌هایی مناسب است که حروف کوچک در دسترس نیستند یا انسان‌ها باید رشته‌های کدگذاری‌شده را به‌صورت دستی رونویسی کنند. کاربردهای رایج آن شامل کلیدهای محرمانهٔ TOTP برای اپ‌های احراز هویت دومرحله‌ای و مسیرهای سیستم فایل در سیستم‌های غیرحساس به بزرگی/کوچکی حروف است.

    موارد استفادهٔ رایج برای توسعه‌دهندگان

    توسعه‌دهندگان از کدگذاری Base32 هنگام تولید کلیدهای محرمانهٔ OTP/TOTP سازگار با اپ‌های احراز هویت مانند Google Authenticator، هنگام ساخت شناسه‌های فشرده‌ای که برای استفاده در URLها و نام فایل‌ها امن هستند، و هنگام کدگذاری داده‌های دودویی برای سیستم‌هایی که نمی‌توانند مقادیر دلخواه بایت را مدیریت کنند استفاده می‌کنند. رمزگشایی نیز معمولاً زمانی لازم است که بخواهید بایت‌های خام را از یک راز OTP استخراج کنید یا یک payload کدگذاری‌شده با Base32 را که از یک سرویس شخص ثالث دریافت شده است راستی‌آزمایی کنید.

    قالب‌ها، نوع‌ها یا گونه‌های داده

    Base32 استاندارد (RFC 4648) از الفبای A–Z و 2–7 استفاده می‌کند و برای اینکه خروجی مضربی از 8 کاراکتر باشد، از پَدینگ = بهره می‌برد. Base32hex از الفبای 0–9 و A–V برای ترتیب مرتب‌سازی طبیعی استفاده می‌کند. خروجیِ کدگذاری‌شده تقریباً 60٪ بزرگ‌تر از ورودیِ اصلی است. در برخی زمینه‌ها مثل رازهای TOTP، گاهی می‌توان پَدینگ را حذف کرد. این ابزار هنگام دیکد کردن، هم گونه‌های استاندارد و هم گونه‌های دارای پَدینگ را پشتیبانی می‌کند.

    دام‌های رایج و حالت‌های لبه‌ای

    Base32 نسبت به حروف بزرگ/کوچک حساس نیست، بنابراین دیکدرها باید پیش از پردازش، ورودی را به حروف بزرگ نرمال‌سازی کنند. کاراکترهای نامعتبر (هر چیزی خارج از A–Z و 2–7) باعث خطای دیکد می‌شوند. Base32 را با Base32hex اشتباه نگیرید — از الفباهای متفاوتی استفاده می‌کنند و خروجی متفاوتی تولید می‌کنند. کاراکترهای پَدینگ باید زمانی که مشخصات (spec) لازم می‌داند وجود داشته باشند؛ برخی پیاده‌سازی‌ها نبود پَدینگ را بی‌سروصدا می‌پذیرند، در حالی که برخی دیگر شکست می‌خورند.

    چه زمانی از این ابزار استفاده کنیم در برابر کُد

    از این ابزار مرورگری برای کدگذاری و دیکد سریع Base32 استفاده کنید، به‌خصوص وقتی با رازهای TOTP کار می‌کنید یا در زمان توسعه در حال بررسی payloadهای کدگذاری‌شده هستید. برای برنامه‌های تولیدی، از یک کتابخانه بومیِ زبان مثل base32 (Python)، hi-base32 (JavaScript) یا Apache Commons Codec (Java) استفاده کنید تا کدگذاری قابل‌بازتولید، آزموده و در خط لوله ساخت (build pipeline) شما یکپارچه باشد.