چگونه داده های موجود در SQL سرور را Hash کنیم؟ شما به عنوان یک برنامه نویس و یا مدیر بانک اطلاعاتی وظیفه دارید تا اطلاعات مهم ذخیره شده در جداول بانک های اطلاعاتی را رمز نگاری کنید. حال این رمزنگاری می تواند Encrypt کردن اطلاعات باشد که قابل بازگشت است و یا Hash کردن باشد که غیر قابل بازگشت است. در این نکته می خواهم شما را با تابعی در SQL Server آشنا کنم که امکان Hash کردن اطلاعات را به شما می دهد. این قابلیت به خصوص زمان ذخیره کردن اطلاعات مربوط به کلمه عبور کاربران خیلی می تواند مفید باشد. مکانیز استفاده از این تابع به صورت زیر است:
SELECT HASHBYTES('MD5','123')
با اجرای دستور بالا در پنجره Query Editor مقدار زیر نمایش داده می شود:
0x40BD001563085FC35165329EA1FF5C5ECBDBBEEF
این تابع دو پارامتر به عنوان ورودی دریافت می کند، یکی الگوریتمی که بر مبنای آن عملیات Hashing انجام می شود و دیگری رشته ای که قرار است Hash شود. الگوریتم هایی که در این تابع می توان از آن ها استفاده کرد عبارتند از:
دو الگوریتم آخر از نسخه 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'))
امیدوارم که این نکته مورد استفاده دوستان قرار بگیرد.
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود