التشفير وفك التشفير بأستخدام ال TSQL Passphrase

السلام عليكم اخواني الكرام اريد ان اقدم مثال لكيفية تشفير كلمات المرور بأستخدام ال TSQL Passphrase

سوف اقوم بأنشاء قاعدة بيانات اخزن فيها معلومات كلمات المرور المشفرة المرسلة من تطبيق الويب خاصتنا

اترككم مع سكربت انشاء قاعدة البيانات والجدول المطلوب

USE [master]
GO
CREATE DATABASE [Encryption] ON  PRIMARY
( NAME = N’Encryption’, FILENAME = N’C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBADMINISTRATOR\MSSQL\DATA\Encryption.mdf’ , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N’Encryption_log’, FILENAME = N’C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBADMINISTRATOR\MSSQL\DATA\Encryption_log.ldf’ , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

ALTER DATABASE [Encryption] SET COMPATIBILITY_LEVEL = 90
GO

الان سكربت ان شاء الجدول

CREATE TABLE [dbo].[TBL_Users](
[ID_User] [int] IDENTITY(1,1) NOT NULL,
[User_Name] [nvarchar](50) NULL,
[Password] [varchar](100) NULL,
CONSTRAINT [PK_TBL_Users] PRIMARY KEY CLUSTERED
(
[ID_User] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ملاحظة اخواني الكرام طريقة التشفير بواسطة ال Passphrase من الطرق المتبعه في ال SQL Server حيث يكون التشفير في الاساس يعتمد على Password ونفس الباسورد الذي استعمل للتشفير يستعمل لفك التشفير

الان اخواني الكرام سوف اقوم بأضافة Stordprocuder داخل قاعدة البيانات خاص بعملية الادخال والتشفير للمدخلات المطلوبة
كما في الكود التالي

Create Proc [dbo].[TestEncryption]
(
@User_Name nvarchar(50),
@Pass varchar(100)
)
as

–ألصيغة العامة للتشفير هي التالية
–DECLARE @EncryptedText VARBINARY(80)
–SELECT @EncryptedText =
–EncryptByPassphrase(‘<EnterStrongPasswordHere>’,’Encrypted Text’)

DECLARE @EncryptedText varchar(100)
Set @EncryptedText =EncryptByPassphrase(‘123456’,@Pass)

begin
insert into TBL_Users(User_Name,Password)values(@User_Name,@EncryptedText)

end

سوف اقوم بخلق ستورد بروسيجر لفك التشفير داخل قاعدة البيانات
كما في المثال التالي المتبع في مثالنا

Create Proc [dbo].[TestDecrypt]
(
@ID_User int,
@DecryptdText nvarchar(200) out
)
as
begin
–الصيغة الاساسية لعملية التشفير هي التالية
–CAST(DecryptByPassPhrase(‘<EnterStrongPasswordHere>’,’text’)
–AS VARCHAR(MAX))
Set @DecryptdText=CAST(DecryptByPassPhrase(‘123456’,(Select Password From TBL_Users where ID_User=@ID_User))
AS VARCHAR(15));

الان في المثال قمت بعمل تطبيق ويب بسيط بواسطة ال ASP.NET لمشاهدة الحالة بوضوح من عملية ادخال والتشفير وعملية فك للتشفير لكلمة المرور

المثال على الرابط التالي

http://www.4shared.com/rar/2hJ-inY9/Omar_Ali_Iraq_Dot_Net.html

Advertisements

شاركنا بارد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s