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.
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
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 pwdfrom login_details
Không có nhận xét nào:
Đăng nhận xét