خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


استفاده از تابع HASHBYTES برای Hash Code Encryption در SQL Server

استفاده از تابع HASHBYTES برای Hash Code Encryption در SQL Server
در SQL Server برای برای رمزگذاری ساده پسوردها مثلا password encryption، از تابع HASHBYTES می توانیم برای رمزنگاری رشته ها استفاده کنیم. این یک تابع رمزنگاری Built-in در خود اس کیو ال است که دارای الگوریتم های Hashing مانند MD-2 ، MD-4 ، MD-5 ، SHA-1 ، SHA-2 (256 و 512) است. در این الگوریتم ، SHA-2 (256 و 512) در SQL Server 2008 معرفی شده اند. الگوریتم های دیگر MD و SHA1 از SQL 2005 و نسخ بعد از آن در دسترس استفاده است. در SQL Server 2016 فقط SHA-2 (256 و 512) توصیه به استفاده می شود.

نرم افزار سامانه مودیان راهکار
تابع HASHBYTES نوع الگوریتم hashing و رشته ای را که باید هش شود را گرفته و کد hash تولید شده را برمی گرداند. در ادامه نحوه استفاده از تابع HASHBYTES و تولید hash code در الگوریتمهای مختلف را خواهید دید.



DECLARE @input nvarchar(50);
SET @input = 'www.MyTecBits.com'

SELECT HASHBYTES('MD2', @input) as 'MD2 Output';
SELECT HASHBYTES('MD4', @input) as 'MD4 Output';
SELECT HASHBYTES('MD5', @input) as 'MD5 Output';
SELECT HASHBYTES('SHA1', @input) as 'SHA1 Output';
SELECT HASHBYTES('SHA2_256', @input) as 'SHA-256 Output';
SELECT HASHBYTES('SHA2_512', @input) as 'SHA-512 Output';

استفاده از تابع HASHBYTES برای Hash Code Encryption در SQL Server . آموزشگاه رایگان خوش آموز

Storing And Checking Password With Encryption

برای ذخیره پسورد در hash code، مطمئن شوید ستونی که می خواهید hash code را در آن ذخیره کنید از نوع varbinary باشد. سپس از تابع HASHBYTES در دستور INSERT استفاده کرده تا hash ای که برای پسورد تولید می شود را در آن ذخیره کنید. در ذیل مثالی برای ذخیره hash code یک پسورد با استفاده از الگوریتم SHA2 512 و مقایسه آن با پسورد hash code در یک Select را مشاهده خواهید کرد.


CREATE TABLE [dbo].[Users](
[UserID] [int] NOT NULL,
[UserName] [nvarchar](20) NOT NULL,
[Password] [varbinary](150) NOT NULL
) ON [PRIMARY]
GO

Insert into Users values (1, 'MyTecBitsUser', HASHBYTES('SHA2_512', 'SomePassword'))
Insert into Users values (2, 'AnotherUser', HASHBYTES('SHA2_512', 'AnotherPassword'))
GO

Select * from Users
GO

Select
UserID,
UserName,
[Password],
CASE [Password]
WHEN HASHBYTES('SHA2_512', 'SomePassword') THEN 'Authorized User'
ELSE 'Not Authorized'
END As Status
from Users
GO

استفاده از تابع HASHBYTES برای Hash Code Encryption در SQL Server . آموزشگاه رایگان خوش آموز


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز