سلام عليكم اخواني الكرام
اريد ان اقدم مثال لكيفية تشفير كلمات المرور بأستخدام ال 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
او التحميل من المرفقات
شكراً لسعة صدركم وارجوا ان اكون قد وفقت في ايصال معلومة ما

