ویرگول
ورودثبت نام
رضا پارسیان
رضا پارسیان
خواندن ۲ دقیقه·۴ سال پیش

داپلیکتور فایندر + سورس C#

داپلیکتور فایندر + سورس C#
داپلیکتور فایندر + سورس C#

سلام قرار بود که هفته قبل این پس رو بذارم ولی خب تقریبا 13 روز هست که میگذره و این پست رو ننوشتم الان امدم که پست رو تکمیل کنم.

چند وقت پیش داشتم توی یوتیوب یه آموزش کرک میدیدم،شخصی که داشت اموزش میداد یک کار جالبی کرد منم خوشم امد و تصمیم گرفتم با ترفندی که نشون داده فایل های تکراری رو پیدا کنم.

برای پیدا کردن این که آیا این فایلی که داریم با فایل های دیگه برابری داره یا نه باید اول بیایم MD5 اون فایل رو با بقیه فایل ها بررسی کنیم.

توی سیشارپ تقریبا کار ساده ای هست که بخواید MD5 یک فایل بدست بیارید.

using System.Security.Cryptography; MD5 md5 = MD5.Create(); string GetFileMD5(string file_address) { string result = &quot" using (FileStream stream = File.OpenRead(file_address)) { byte[] checksum = md5.ComputeHash(stream); result = BitConverter.ToString(checksum).Replace(&quot-&quot, String.Empty).ToLower(); } return result; }

سخت ترین کار این پروژه همین بود البته من زیاد وقت نذاشتم روش فقط از چند تا لیست استفاده کردم که فایل های تکراری رو پیدا کنم

که نیاز به توضیح ندارن اگر سورس رو ببینید متوجه می شید.



داشتم این پروژه رو استارت میکردم به خیلی چیز ها فکر کردم که با این ترفند میشه انجام داد

مثلا برای اپلود فایل ها دیگه نیاز نیست هر دفعه فایل رو اپلود کنیم فقط کافیه یک دیتابیس داشته باشیم و MD5 فایل های کاربران رو بذاریم داخل اون و برای دفعه های بعد که هر شخص خاص اپلودی رو انجام بده این فایل ها بررسی میشوند و در صورت موجود بودن اون فایل در کسری از ثانیه فایل از پیش اپلود شده رو در اختیار شخص قرار میدیم.


https://github.com/RezaParsian/Duplicate-Finder
https://rp76.ir/me/


تکراریc sharpduplicator finderسی شارپ
الان لاراول کار می‌کنم ولی هنوز سایتم همونه https://Rp76.ir
شاید از این پست‌ها خوشتان بیاید