PDA

View Full Version : فشرده سازی و رمزگذاری اطلاعات آرایه



مهدی رحیم زاده
شنبه 05 دی 1388, 07:00 صبح
سلام
من یک آرایه دارم که بعد از تبدیل یک عکس به حالت باینری ، اون رو با این داده ها پر کردم.
حالا سئوال اینجاست که چطور میشه قبل از ذخیره این اطلاعات داخل بانک اونا رو فشرده یا رمز گذاری کرد؟
با تشکر

mehdi.mousavi
پنج شنبه 10 دی 1388, 11:19 صبح
سلام من یک آرایه دارم که بعد از تبدیل یک عکس به حالت باینری ، اون رو با این داده ها پر کردم. حالا سئوال اینجاست که چطور میشه قبل از ذخیره این اطلاعات داخل بانک اونا رو فشرده یا رمز گذاری کرد؟ با تشکر

سلام.
پس در واقع سوال این هستش که "چطوری یک Byte Array رو Encrypt/Decrypt کنیم"؟ درسته؟ اما قبل از این، بقول Michael Howrad، مرد امنیتی مایکروسافت، ابتدا از خودتون بپرسید که "آیا این داده ها ارزش رمزگذاری شدن رو دارن"؟ در واقع، شما به چه دلیل مایلید تا اونها رو رمزنگاری کنید؟ آیا این تصاویر محرمانه و طبقه بندی شده هستند؟ آیا واقعا نیاز دارید تا اونها رو رمزنگاری کنید؟

اگر پاسخ به سوال فوق مثبت بود، ابتدا در مورد حوزه رمزگذاری باید تصمیم بگیرید. در چه لایه و یا لایه هایی میخواهید اینکارو انجام بدید؟ آیا قراره این اطلاعات روی خط منتقل بشن؟ یا جایی، روی سرور خاصی که بهش اطمینان داریم (این باعث نمیشه که Defense in Depth رو از یاد ببریم) نگهداری خواهند شد؟

پاسخ به این سوال، و سوالات بسیار دیگه راه حل رو به ما نشون خواهد داد. من همینطوری نمیتونم بگم برید از Rijndael Algorithm استفاده کنید یا فلان کار رو انجام بدید... مطلقا در موراد امنیتی بدون داشتن دانش کافی در مورد حوزه کاری، نباید اظهار نظر کرد.

اما در هر حال، توی .NET و برای شروع، شما میتونید با System.Security Namespace (http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx) آغاز کنید. اما قبل از اینکارها، مطمئن بشید که حداقل دانش در این زمینه رو به طریقی کسب کرده اید، و الا Mix & Match کردن تکنولوژیهای امنیتی لزوما به یک Solution ایمن ختم نمیشه!

موفق باشید.

مهدی رحیم زاده
پنج شنبه 10 دی 1388, 14:08 عصر
در مورد فشرده سازی چی؟
نظری ندارین؟
ممنون میشم.

mehdi.mousavi
پنج شنبه 10 دی 1388, 14:19 عصر
در مورد فشرده سازی چی؟ نظری ندارین؟ ممنون میشم.

فشرده سازی چی؟ بازم عکس؟ اگر عکس Jpg باشه، فشرده سازی لازم روش انجام شده و شما عموما نمیتونید الگوریتمی رو پیدا کنید که بتونه داده های موجود رو بطرز بهینه تری فشرده کنه. اگر هم Jpg نیست، خوب میتونید اونو Jpg ذخیره کنید و به هدفتون برسید.

اما اگر در مورد فشرده سازی بطور کلی بخواهیم صحبت کنیم، شما دو روش دارید. یکی استفاده از امکانات خود .NET Framework هستش، بطور اخص: DeflateStream (http://msdn.microsoft.com/en-us/library/system.io.compression.deflatestream.aspx) و GZipStream (http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx). اما عموما این دو الگوریتم، داده ها رو بطرز مطلوبی فشرده نمیکنن. روش دوم، (که من اینو توصیه میکنم) استفاده از third party sdk ها هستش. بعنوان مثال شما میتونید از LZMA SDK (http://www.7-zip.org/sdk.html) که رایگان (و Open Source) هم هست استفاده کنید.

موفق باشید.