Quantcast Mã hóa và giải mã mật khẩu sử dụng EncryptByPassPhrase và DecryptByPassPhrase

Mã hóa và giải mã mật khẩu sử dụng EncryptByPassPhrase và DecryptByPassPhrase

by Neon Quach 5. June 2010 02:46

Giới thiệu:
Bài này mình sẻ hướng dẫn mọi người làm thế nào để mật khẩu và lưu trữ mật khẩu dạng VarBinary sử dụng hàm EncryptByPassPhrase và giải mã sử dụng DecryptByPassPhrase.

Giải thích:

EncryptByPassPhrase sử dụng thuật toán Triple DES để mã hóa text được truyền vào.

Cú pháp: ENCRYPTBYPASSPHRASE('PASSPHRASE',”text”)


Trong cú pháp phía trên 'PASSPHRASE' được xem như là 1 cái khóa bảo mật, và text phải là dữ liệu dạng VarBinary.


Tạo 1 bảng Creating a ' table:

create
table login_details(uid integer,username varchar(10),password varbinary(100))

Thêm 1 vài record:

insert
into login_details(uid,username,password) values(1,'smith',EncryptByPassPhrase('12','XXX'))

insert into login_details(uid,username,password) values(2,'kennal',EncryptByPassPhrase('12','YYY'))

insert into login_details(uid,username,password) values(3,'staurt',EncryptByPassPhrase('12','ZZZ'))

Hiển thị các record vừa chèn vào
select * from login_details



DecryptByPassPhrase:  trường được mã hóa có thể được giải mã bởi việc sử dụng DecryptByPassPhrase

Hàm DecryptByPassPhrase nhận vào 2 tham số, 1 là PASSPHRASE  giống như key, 2 là text hoặc tên trường.

select uid,username, DECRYPTBYPASSPHRASE ('12',password) as Password from login_details



Kết quả bên trên mật khẩu vẩn là dạng VarBinary, cho nên chúng ta phải chuyển VarBinary sang dạng Varchar sử  dụng hàm chuyển đổi như sau:

select uid,username,convert(varchar(10), DECRYPTBYPASSPHRASE ('12',password)) as pwd from login_details

Reference

Tags:


Categories: sql

blog comments powered by Disqus

About me

I'm  currently employed as Software developer at devinition.com and also a Microsoft Certified Technology Specialist (MCTS), Microsoft Certified Professional Developer (MCPD) in Net Framework 2.0 and 3.5: Web Applications and MCTS .NET Framework 3.5, ADO.NET Applications

Powered by BlogEngine.NET 2.5.0.5 - Eco Theme by n3o Web Designers