Calculate MD5, SHA1 and other hashes of files

احتمالا شده که بخواهید کد های MD5 یا SHA1 و یا بقیه کدهای Hash یک فایل، دیسک ایمیج یا هر مدیایی رو چک کنید تا از سالم بودن و دست نخورده بودن اون اطمینان حاصل کنید. برنامه های زیادی هستند که این کار رو برای ما انجام میدن، و یا حتی میشه خودمون برنامه ای بنویسیم که این کار رو برای ما انجام بده. البته در این پست من نمیخوام  آموزش نوشتن چنین برنامه هایی رو بدم، چون یک جستجوی ساده در اینترنت، میتونه کدهای بسیاری رو برای شما بیاره که دیگه لازم نباشه خودتون از ابتدا برنامه Hash بنویسید.
در زیر چند راه حل برای به دست آوردن کدهای Hash در خط فرمان ها را براتون مینویسم:

محاسبه کدهای Hash یک فایل در Command Line ویندوز

برای چک کردن MD5 یا SHA1 و ... در ویندوز میتونید از File Checksum Integrity Verifier استفاده کنید. نحوه استفاده از این برنامه خیلی راحت هستش و شما با نوشتن دستور زیر در Command Line ویندوز میتونید مقدار MD5 و SHA1 فایل مورد نظرتون رو بدست بیارید:

FCIV -md5 -sha1 path\filename.ext

البته FCIV به طور پیش فرض توی ویندوز نیست و شما باید اونو دانلود و نصب کنید. این نکته را هم باید بگم که در پیج دانلود برنامه گفته شده که شرکت مایکروسافت از این فایل پشتیبانی نمیکنه و ریسک نصب و اجرای اون رو باید به جون بخرید.

محاسبه MD5 یک فایل در PowerShell

اگر از PowerShell به عنوان خط فرمان پیش فرض ویندوز استفاده می کنید، برای محاسبه کد MD5 میتونید از دستورات زیر استفاده کنید:

$someFilePath = "C:\foo.txt"
$md5 = new-object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$hash = [System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($someFilePath)))

در این کد کافیه آدرس فایل خود را در متغیر someFilePath  بریزید و بعد از اجرای دستورات، کد MD5 فایل خود رو میتونید مشاهده کنید.
البته در اینجا قطعه کدی به همراه مثال نوشته شده که با استفاده از اون میتونید به سادگی کدهای SHA1 و MD5 یک فایل را حساب کنید.

محاسبه کدهای Hash یک فایل در Shell های لینوکس

خوشبختانه به دست آوردن کدهای Hash تو لینوکس خیلی راحت هستش و دیگه نیازی به دانلود پکیج خاصی نیست و به طور پیش فرض، این دستورات در لینوکس وجود دارن. و یا حداقل در توزیع هایی که من استفاده کردم اینطور بوده.
برای محاسبه MD5 یک فایل از دستور md5sum filename استفاده می کنیم و به جای filename اسم فایل را قرار میدهیم.
و همینطور برای SHA1 از دستور sha1sum filename استفاده می کنیم.
- برای دیدن بقیه دستوراتی که با sha شروع میشن، حروف sha رو در Shell بنویسید و دو بار کلید Tab را بزنید تا دستورات بقیه کدها Hash که با sha  شروع میشن نمایش داده بشن.

در آخر باید بگم که خود من دستورهای لینوکس رو ترجیح میدم، و برای همین، همیشه Cygwin رو در ویندوزم نصب می کنم. و برای به دست آوردن کد های Hash از دستورات لینوکس در ترمینال Cygwin استفاده می کنم.

\.Chehre

SQL Server Native Client for Connecting to Microsoft SQL Server

اگر برای اتصال در برنامه از  SQL Server Native Client استفاده کرده باشید، برای اینکه برنامتون در کلاینت ها (سیستمی غیر از سرور) به اجرا در بیاد، باید بر حسب نیازتون یکی از بسته های  SQL Server Native Client را نصب کنید.
در زیر لینک دانلود نسخه های مختلف به همراه توضیحات هرکدام گذاشته شده:

دانلود SQL Server 2012 Native Client  از Microsoft SQL Server 2012 Feature Pack
توضیحات:
Microsoft SQL Server Native Client (SQL Server Native Client) is a single dynamic-link library (DLL) containing both the SQL OLE DB provider and SQL ODBC driver. It contains run-time support for applications using native-code APIs (ODBC, OLE DB and ADO) to connect to Microsoft SQL Server 2005, 2008, 2008 R2, and SQL Server 2012. 


 دانلود SQL Server 2005 Native Client  از Microsoft SQL Server 2008 R2 Feature Pack .
 توضیحات:
Microsoft SQL Server 2008 R2 Native Client (SQL Server Native Client) is a single dynamic-link library (DLL) containing both the SQL OLE DB provider and SQL ODBC driver. It contains run-time support for applications using native-code APIs (ODBC, OLE DB and ADO) to connect to Microsoft SQL Server 2000, 2005, or 2008.


دانلود SQL Server 2005 Native Client  از Microsoft SQL Server 2005 Feature Pack.
توضیحات:
Microsoft SQL Server Native Client (SQL Native Client) is a single dynamic-link library (DLL) containing both the SQL OLE DB provider and SQL ODBC driver. It contains run-time support for applications using native-code APIs (ODBC, OLE DB and ADO) to connect to Microsoft SQL Server 7.0, 2000 or 2005.

و در آخر برای نصب SQL Server Native Client  یا sqlncli.msi با Inno Setup میتونید از کد زیر استفاده کنید:
پارامتر passive باعث میشه که کاربر فقط روند نصب رو مشاهده کنه!

[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{app}\sqlncli.msi"" /passive"; Check: "not IsWin64";
Filename: "msiexec.exe"; Parameters: "/i ""{app}\sqlncliX64.msi"" /passive"; Check: IsWin64;


\.Chehre

Unobtrusive Ajax stopped working after update jQuery to 1.9.1

چند وقت پیش سعی کردم که یکی از پروژه ها رو از  MVC3 به MVC4 ارتقاء بدم. jQuery را هم به نسخه 1.9.1 ارتقاء دادم اما با خطای زیر مواجه شدم:

Error when entering login page:
Unhandled exception at line 115, column 5 in http://localhost:63180/Scripts/jquery.unobtrusive-ajax.js
0x800a01b6 - Microsoft JScript runtime error: Object doesn't support property or method 'live'

البته من متوجه این خطا نشده بودم، چون ازFirefox به عنوان مرورگر پیشفرض استفاده میکردم. ولی وقتی که  Firebug رو فعال کردم، کنسول پیغام زیر رو نشونم داد:

Type Error: a(...).live is not a function
این بود که با IE برنامه رو تست کردم و خطای اول رو گرفتم.

تابع live در نسخه 1.9.1 حذف شده و نمیشه دیگه از اون استفاده کرد. سایت jQuery  درباره این تابع و تابع جایگزین اون یعنی تابع on اینطور گفته:

As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers. Users of older versions of jQuery should use .delegate() in preference to .live().
This method provides a means to attach delegated event handlers to the document element of a page, which simplifies the use of event handlers when content is dynamically added to a page. See the discussion of direct versus delegated events in the .on() method for more information. 

البته باید بگم که من فقط jQuery  رو به نسخه 1.9.1 ارتقاء داده بودم و jquery.unobtrusive-ajax رو هنوز ارتقاء نداده بودم. :)

برای حل این مشکل هم یا باید تمامی liveها رو به on تغییر میدادم و یا jquery.unobtrusive-ajax را هم ارتقاء میدادم. خوب بهترین راه حل همون آپدیت jquery.unobtrusive-ajax با nuget بود که منو از شر این خطا راحت کرد.

\.Chehre

جستجو