وقتی سریال های Json به طرز وحشتناکی اشتباه می روند

عکس پروفایل نویسنده

اخیراً ، برای حفظ اعتماد به نفس در این فناوری ، با مشکلات زیادی درمورد سریال سازی NET Json در یک طرف و Javascript (de) سریال سازی در طرف دیگر مواجه شده ام. از مسائل سریال سازی DateTime ، به این واقعیت که سریال سازی DateTime.MinValue باعث خرابی مهلکی می شود ، زیرا زمان UTC کمتر از حداقل مقدار DateTime مجاز است. اما آخرین مورد بسیار زیاد بود.

قبل از ادامه کار ، می خواهم بگویم که گفته شده قطعاً در مورد .NET 4.8.x اعمال می شود. با استفاده از جدیدترین بسته Newtonsoft.Json. من هنوز آن را آزمایش نمی کنم .NET 5 ، اما احساس عجیبی دارم ، مسئله همچنان باقی است.

مشکل

من وقت زیادی را برای تلاش برای دور زدن این مسئله از دست دادم. ما پاسخ های خود را بر روی سرور امضا می کنیم و برای مشتری که سپس هش ارسال می کنیم
تأیید می کند ، اگر هش معتبر باشد.

به طور طبیعی ، در کد تولید ما کارهای پیچیده تری انجام می دهیم
آنچه در این مقاله نشان داده شده است ، اما ما برای درک بهتر آن را ساده نگه می داریم.

تصور کنید .NET API شما پاسخ ساده JSON تولید می کند:

"Value":385.0}

. مقدار هش SHA-2 این است:

E2A5770B9E63DCC04B1A417E8E6DEE4E83619CA87D6A22A49CEEAC9925C6643.

این داده ها اکنون به JS ارسال می شوند. برای بررسی امضا ، کد مشتری باید شی JSON را به رشته تبدیل کرده و هش را محاسبه کند. تو می توانی
این کار را با فراخوانی JSON.stringify () روی شی انجام دهید و از …

سئو PBN | خبر های جدید سئو و هک و سرور