ابزارهای توسعه‌دهنده

مجموعه‌ای از ابزارهای روزمره توسعه‌دهندگان — تبدیل رنگ، تولید هش رمزنگارانه، کار با تایم‌استمپ یونیکس و رمزگشایی JWT.

مبدل رنگ
HEX، RGB، HSL، HSV، CMYK و OKLCH را تبدیل کنید، پالت بسازید و کنتراست را بسنجید — در مر...
تحلیلگر یوزر ایجنت
مرورگر، سیستم‌عامل و دستگاه را از هر رشتهٔ یوزر ایجنت بخوانید، یوزر ایجنت خودتان را ببی...
ماشین‌حساب زیرشبکه
آدرس شبکه، محدودهٔ هاست‌ها و ماسک هر زیرشبکهٔ IPv4 یا IPv6 را حساب کنید و یک شبکه را به...
توضیح‌دهندهٔ عبارت Cron
هر عبارت cron را به زبان ساده و فیلد به فیلد بخوانید و دقیقاً ببینید دفعهٔ بعد کی اجرا ...
فرمت‌کننده و فشرده‌ساز کد
کد HTML، CSS، JavaScript و SQL را مرتب یا فشرده کنید؛ زبان کد خودکار تشخیص داده می‌شود ...
حذف‌کننده CSS استفاده‌نشده
فقط CSS موردنیاز صفحه را نگه دارید، از خروجی Coverage کروم یا از HTML و استایل‌شیت. همه...
رمزگشای JWT
JSON Web Token را محلی رمزگشایی کنید و امضایش را با کلید محرمانه یا عمومی بررسی کنید، ب...
مبدل تایم‌استمپ یونیکس
تایم‌استمپ یونیکس را به تاریخ خوانا و برعکس تبدیل کنید، در هر منطقه زمانی، همراه با زما...
تولیدکننده هش
هش MD5، SHA-1، SHA-256 و SHA-512 برای متن یا فایل، bcrypt و بررسی چک‌سام — در مرورگر شما.
تبدیل JSON به تایپ
یک نمونهٔ JSON را به اینترفیس TypeScript، استراکت Go، مدل Python، کلاس C#، استراکت Rust...

کارهای سریع

با یک کلیک، ابزار از قبل برای همان کار تنظیم‌شده باز می‌شود.

ابزارهای توسعه‌دهنده - رنگ، هش، مهر زمانی و JWT

این دستهٔ همان تبدیل‌های کوچکی است که کار واقعی را قطع می‌کنند. طراحی یک رنگ HEX به شما می‌دهد و CSS مقدار HSL می‌خواهد. یک خط لاگ مهر زمانی یونیکس دارد و باید بدانید آن لحظه در منطقهٔ زمانی خودتان چه ساعتی بوده. یک API توکنی برمی‌گرداند و باید ببینید داخلش چیست. یک صفحهٔ دانلود مقدار SHA-256 را منتشر کرده و باید فایل را بررسی کنید. هیچ‌کدام سخت نیست؛ همه‌شان دستی انجام دادنشان آزاردهنده است، و هر چهار ابزار اینجا بدون حساب کاربری کار می‌کنند.

این دسته شامل چیست

ابزارچه می‌کندچه وقت به کارتان می‌آید
مبدل رنگمیان HEX، RGB و HSL تبدیل می‌کندیک پالت در یک نماد است و شیوه‌نامهٔ شما نماد دیگری می‌خواهد
تولیدکنندهٔ هشبرای متن یا فایل، MD5، SHA-1، SHA-256 و SHA-512 را محاسبه می‌کندبررسی یک دانلود، مقایسهٔ دو فایل، یا ساختن یک کلید کش
مبدل مهر زمانیمهر زمانی یونیکس را به تاریخ خواندنی و برعکس تبدیل می‌کند، در منطقه‌های زمانی مختلفدر یک لاگ، یک ستون پایگاه داده یا یک پاسخ API عددی نشسته که باید تاریخ می‌بود
رمزگشای JWTتوکن JSON Web را تکه‌تکه می‌کند و سرآیند، محتوا و زمان انقضایش را نشان می‌دهددارید احراز هویت را اشکال‌زدایی می‌کنید و باید ادعاها را ببینید
حذف‌کننده CSS استفاده‌نشدهفقط CSSی را که صفحه واقعاً استفاده می‌کند نگه می‌دارد، از خروجی Coverage کروم یا از HTMLقالب یا صفحه‌ساز خیلی بیشتر از نیاز صفحه CSS بار می‌کند
فرمت‌کنندهٔ کدHTML، CSS، JavaScript و SQL را مرتب یا فشرده می‌کند، با پشتیبانی از گویش‌های SQL و تشخیص خودکار زبانیک باندل، یک قالب یا یک کوئری به‌صورت یک خط ناخوانا رسیده، یا یک تکه‌کد باید تا حد ممکن کوچک شود
توضیح‌دهندهٔ عبارت Cronیک زمان‌بندی cron را به زبان ساده و فیلد به فیلد می‌خواند، با زمان اجراهای بعدی به وقت محلی یا UTCکاری در ساعت اشتباه اجرا می‌شود، یا پیش از استقرار باید مطمئن شوید یک خط crontab چه می‌کند
ماشین‌حساب زیرشبکهآدرس شبکه، Broadcast، محدودهٔ هاست‌ها، ماسک‌ها و نوع آدرس را برای IPv4 و IPv6 حساب می‌کند و شبکه را به زیرشبکه‌ها تقسیم می‌کنددارید قانون فایروال، طرح VPC یا تنظیمات روتر می‌نویسید و رنج باید دقیقاً درست باشد
تحلیلگر یوزر ایجنتمرورگر، موتور، سیستم‌عامل و دستگاه را از هر رشتهٔ یوزر ایجنت می‌خواند و خزنده‌های موتور جستجو و هوش مصنوعی را نام می‌بردیک خط لاگ، گزارش آماری یا گزارش باگ یوزر ایجنتی نشان می‌دهد که باید آن را بفهمید
تبدیل JSON به تایپیک نمونهٔ JSON را به تایپ‌های TypeScript، Go، Python، C# یا Rust، یا به یک JSON Schema تبدیل می‌کندیک API پاسخ JSON می‌دهد و کد شما برای آن مدل‌های تایپ‌دار لازم دارد

نمادهای رنگ و اینکه چرا HSL ارزش دانستن دارد

HEX و RGB دقیقاً یک چیز را با دو دست‌خط توصیف می‌کنند: #4F46E5 همان rgb(79, 70, 229) است، سه کانال از ۰ تا ۲۵۵ که به‌جای دهدهی در مبنای شانزده نوشته شده‌اند. تبدیلشان به هم مکانیکی است.

اما HSL مدلی حقیقتاً متفاوت است و جایگاهش را از همین‌جا می‌گیرد. رنگ را با فام (جایگاه روی چرخهٔ رنگ، ۰ تا ۳۶۰)، اشباع (چقدر زنده، ۰ تا ۱۰۰ درصد) و روشنایی (۰ تا ۱۰۰ درصد) توصیف می‌کند. سود عملی‌اش این است: ۱۰ درصد تیره‌تر کردن یک رنگ برای حالت هاور فقط تغییر یک عدد است، و ساختن پالتی از سایه‌های خویشاوند یعنی ثابت نگه داشتن فام و اشباع و قدم زدن روی روشنایی. همین کار در HEX یعنی محاسبهٔ دوبارهٔ سه کانال و حدس زدن.

کنتراست دلیل دوم است. متن برای برآورده کردن استاندارد WCAG AA در اندازهٔ عادی، به نسبت کنتراست دست‌کم ۴٫۵ به ۱ با پس‌زمینه‌اش نیاز دارد. روشنایی در HSL به‌مراتب بهتر از خیره شدن به یک کد شانزده‌تایی پیش‌بینی می‌کند کجا ایستاده‌اید.

هش‌ها: به چه درد می‌خورند و به چه دردی نمی‌خورند

تابع هش هر ورودی را به اثر انگشتی با طول ثابت تبدیل می‌کند. همان ورودی همیشه همان خروجی را می‌دهد؛ تغییر یک نویسه خروجی کاملاً متفاوتی می‌سازد؛ و نمی‌توان از هش به ورودی برگشت. همین باعث می‌شود هش ابزار درستی برای راستی‌آزمایی یکپارچگی و ابزار نادرستی برای ذخیرهٔ رمز عبور باشد.

الگوریتمخروجیوضعیت
MD5۱۲۸ بیتاز نظر امنیتی شکسته. می‌توان عمداً تصادم ساخت. به‌عنوان جمع کنترلی غیرامنیتی یا کلید کش اشکالی ندارد
SHA-1۱۶۰ بیتاز ۲۰۱۷ شکسته. هنوز در سیستم‌های قدیمی و در شناسهٔ اشیای Git دیده می‌شود؛ برای چیز تازه انتخابش نکنید
SHA-256۲۵۶ بیتپیش‌فرض امروزی برای بررسی فایل، امضا و گواهی‌نامه
SHA-512۵۱۲ بیتهمان خانواده با چکیدهٔ بزرگ‌تر، روی سخت‌افزار ۶۴ بیتی اغلب سریع‌تر

کاربرد روزمره‌اش بررسی یک دانلود است: سایت مقدار SHA-256 را منتشر می‌کند، شما فایل دریافتی را با تولیدکنندهٔ هش هش می‌کنید، و دو رشته یا نویسه‌به‌نویسه یکی‌اند یا نیستند. این هم دانلود ناقص را می‌گیرد و هم آینه‌ای دستکاری‌شده را.

چیزی که هش‌ها به دردش نمی‌خورند رمز عبور است. یک SHA-256 سادهٔ رمز عبور روی سخت‌افزار معمولی با میلیاردها حدس در ثانیه قابل حمله است. ذخیرهٔ رمز عبور به تابعی کند، نمک‌زده و ساخته‌شده برای همین کار نیاز دارد - bcrypt، scrypt یا Argon2 - که عمداً پرهزینه‌اند. اگر رمز عبوری را با چیزی از جدول بالا هش می‌کنید، آن یک باگ است. تولیدکنندهٔ هش دقیقاً برای همین یک زبانهٔ bcrypt دارد: با هزینه‌ای (cost) که انتخاب می‌کنید هش bcrypt می‌سازد و یک رمز عبور را با هش ذخیره‌شده مقایسه می‌کند، و صفحهٔ bcrypt مستقیم همان را باز می‌کند.

مهر زمانی یونیکس و سردرگمی منطقهٔ زمانی

مهر زمانی یونیکس ثانیه‌ها را از نیمه‌شب UTC روز اول ژانویهٔ ۱۹۷۰ می‌شمارد. منطقهٔ زمانی ندارد، و دقیقاً به همین دلیل سیستم‌ها از آن استفاده می‌کنند: یک لحظهٔ بدون ابهام است و هر زبانی می‌تواند برای نمایش به وقت محلی تبدیلش کند. عدد ده‌رقمی ثانیه است؛ عدد سیزده‌رقمی میلی‌ثانیه، که همان چیزی است که Date.now() در جاوااسکریپت برمی‌گرداند و علتی بسیار رایج برای فرود آمدن تاریخ‌ها در سال ۱۹۷۰ یا سال ۵۵۰۰۰ است.

مبدل مهر زمانی در هر دو جهت کار می‌کند و نتیجه را در UTC کنار وقت محلی شما نشان می‌دهد، که معمولاً همان مقایسه‌ای است که هنگام خواندن لاگی نوشته‌شده روی سروری در منطقه‌ای دیگر واقعاً لازم دارید. دو تاریخ ارزش دانستن دارند: ۲۱۴۷۴۸۳۶۴۷ آخرین ثانیه‌ای است که مهر زمانی ۳۲ بیتی علامت‌دار می‌تواند نگه دارد، در ژانویهٔ ۲۰۳۸، و ۰ خود مبدأ است - مهر زمانی صفر یا تاریخ اول ژانویهٔ ۱۹۷۰ تقریباً همیشه یعنی مقداری هرگز تنظیم نشده است.

خواندن یک JWT

توکن JSON Web سه بخش Base64 امن برای URL است که با نقطه از هم جدا شده‌اند: سرآیندی که می‌گوید کدام الگوریتم امضایش کرده، محتوایی از ادعاها، و یک امضا. رمزگشای JWT آن را تکه می‌کند و دو بخش اول را به‌صورت JSON خواندنی نشان می‌دهد، با exp و iat که به تاریخ تبدیل شده‌اند - و همین معمولاً تمام پرسش است وقتی درخواستی رد می‌شود.

دو نکته باید صریح گفته شود. اول اینکه محتوا رمزنگاری نشده است. هر کسی که توکن را داشته باشد می‌تواند تک‌تک ادعاهایش را بخواند، پس JWT جای هیچ چیز خصوصی نیست. دوم اینکه رمزگشایی، راستی‌آزمایی نیست: خواندن ادعاها به شما می‌گوید توکن چه ادعایی دارد، نه اینکه امضا معتبر است یا نه. تنها سروری که کلید را دارد می‌تواند به آن پاسخ دهد، و هیچ ابزار مرورگری نباید از شما بخواهد کلید امضایتان را برای فهمیدنش بچسبانید.

چون توکن تا وقتی معتبر است یک اعتبارنامهٔ زنده است، اینکه کجا می‌چسبانیدش اهمیت دارد. این رمزگشا تماماً در مرورگر شما اجرا می‌شود - جاوااسکریپت توکن را روی دستگاه خودتان تجزیه می‌کند و چیزی به هیچ جا فرستاده نمی‌شود، که می‌توانید در پنل شبکه تأییدش کنید.

دسته‌های مرتبط

سوالات متداول

آیا برای استفاده از این ابزارها باید چیزی نصب کنم؟
خیر. هر ابزار اینجا مستقیماً در مرورگر شما اجرا می‌شود — فقط صفحه را باز کنید و شروع به استفاده کنید.
آیا این ابزارها برای استفاده در محیط عملیاتی مناسب هستند؟
بله، برای کارهای روزمره سریع مثل دیباگ کردن، فرمت‌دهی و بررسی داده. برای فرآیندهای خودکار معمولاً از کتابخانه‌های معادل در کد خودتان استفاده می‌کنید، اما این ابزارها برای بررسی‌های دستی یک‌باره عالی هستند.
آیا کد یا داده من هنگام استفاده از این ابزارها به جایی ارسال می‌شود؟
خیر. همهٔ ابزارهای LogicUtil، از جمله مبدل تصویر، کاملاً در مرورگر شما اجرا می‌شوند، پس کد و داده‌های شما هرگز از دستگاهتان خارج نمی‌شوند.