تا %60 تخفیف خرید برای 8 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

آشنایی با تابع HASHBYTES در SQL Server برای HASH کردن اطلاعات

شما به عنوان یک برنامه نویس و یا مدیر بانک اطلاعاتی وظیفه دارید تا اطلاعات مهم ذخیره شده در جداول بانک های اطلاعاتی را رمز نگاری کنید. حال این رمزنگاری می تواند Encrypt کردن اطلاعات باشد که قابل بازگشت است و یا Hash کردن باشد که غیر قابل بازگشت است. در این نکته می خواهم شما را با تابعی در SQL Server آشنا کنم که امکان Hash کردن اطلاعات را به شما می دهد. این قابلیت به خصوص زمان ذخیره کردن اطلاعات مربوط به کلمه عبور کاربران خیلی می تواند مفید باشد. مکانیز استفاده از این تابع به صورت زیر است:

SELECT HASHBYTES('MD5','123')

با اجرای دستور بالا در پنجره Query Editor مقدار زیر نمایش داده می شود:

0x40BD001563085FC35165329EA1FF5C5ECBDBBEEF

این تابع دو پارامتر به عنوان ورودی دریافت می کند، یکی الگوریتمی که بر مبنای آن عملیات Hashing انجام می شود و دیگری رشته ای که قرار است Hash شود. الگوریتم هایی که در این تابع می توان از آن ها استفاده کرد عبارتند از:

  1. الگوریتم MD2
  2. الگوریتم MD4
  3. الگوریتم MD5
  4. الگوریتم SHA که همان SHA-0 می باشد
  5. الگوریتم SHA1
  6. الگوریتم SHA2_256
  7. الگوریتم SHA2_512

دو الگوریتم آخر از نسخه 2012 به SQL Server اضافه شده اند. دستور زیر عبارت test را بر مبنای الگوریتم SHA2-256 هش می کند:

select HASHBYTES('SHA2_256','123')

اما مثالی از کاربرد این تابع در زمان استفاده بزنیم. فرض کنید جدولی دارید با نام Users که اطلاعات کاربران در آن ذخیره می شود. با استفاده از ترکیب تابع HASHBYTES و دستور INSERT می توانید کلمه عبور را به صورت رمز شده ذخیره کنید:

INSERT INTO [Users] ([Username], [Password]) VALUES ('Ahmadi',HASHBYTES('SHA2_256','123'))

امیدوارم که این نکته مورد استفاده دوستان قرار بگیرد. ITPRO باشید

نویسنده: حسین احمدی

انجمن تخصصی فناوری اطلاعات ایران

نظر شما
برای ارسال نظر باید وارد شوید.
6 نظر
افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند