Mã hóa mật khẩu trong sql

Mã hoá là một trong những phương thức đặc biệt nhằm bảo mật thông tin tài liệu. Những dữ liệu nhạy cảm nlỗi số CMT, số thẻ tín dụng thanh toán, mật khẩu… rất cần được được đảm bảo an toàn trước vô vàn mọt nguy nan tiến công bây chừ. Trong Squốc lộ Server 2000 chúng ta cũng có thể tự sinh sản những hàm của riêng mình hoặc sử dụng các DLL ngoại trừ nhằm mã hoá tài liệu. Trong SQL Server 2005, những hàm với cách thức này được khoác định chất nhận được sẵn.

You watching: Mã hóa mật khẩu trong sql

SQL Server 2005 hỗ trợ những nghệ thuật sau để mã hoá dữ liệu


Trong phần đầu của loạt bài này, công ty chúng tôi vẫn giải thích biện pháp áp dụng chuyên môn mã hoá bằng mật khẩu đăng nhập với phương pháp lời giải nó.Squốc lộ Server 2005 cung ứng 2 hàm mang đến bài toán mã hoá: một mang đến câu hỏi mã hoá và một mang đến Việc giải mã. “Mã hoá bởi mật khẩu” là phương thức mã hoá tài liệu cơ bạn dạng thông qua mật khẩu. Dữ liệu có thể được giải thuật trường hợp nhập đúng mật khẩu sẽ áp dụng Khi mã hoá. Chúng ta đang test một ví dụ về bài toán mã hoá cùng giải thuật dữ liệu bởi kỹ thuật mã hoá trải qua mật khẩu.

See more: 5 Phần Mềm Hack Wifi Password Key Show, Phần Mềm Bẻ Khóa Wifi Tốt Nhất

select EncryptedData = EncryptByPassPhrase("MAK", "123456789" )

Kết quả

EncryptedData 0x0100000000214F5A73054F3AB954DD23571154019F3EFC031ABFCCD258FD22ED69A48002


Giờ chúng ta đang thực hiện 3 lần hàm Encryptbypassphrase bên trên theo ví dụ sau

declare
count int declare
SocialSecurityNumber varchar(500) declare
password varchar(12) set
count =1 while
countbegin set
SocialSecurityNumber = "123456789" phối
Password = "MAK" select EncryptedData = EncryptByPassPhrase(
password,
SocialSecurityNumber ) set
+1 end

Kết quả

EncryptedData 0x01000000CBB7EE45B5C1460D6996B149CE16B76C7F7CD598DC56364D106B05D47B930093 (1 row(s) affected) EncryptedData 0x010000005E884D30C8FF7E4723D4E70A03B0B07F877667BAF1DA9BE1E116434842D11B99 (1 row(s) affected) EncryptedData 0x01000000C508FB0C4FC7734B47B414D2602A71A338417DD685229173684D319334A084CD

Lưu ý: “123456789” ở chỗ này có thể là số thẻ tín dụng và “MAK” là mật khẩu đăng nhập Kết quả của Encryptbypassphrase sau những lần triển khai hàm là không giống nhau. Tuy nhiên, khi chúng ta lời giải tài liệu thì nó vẫn ra công dụng nlỗi thuở đầu trước lúc mã hoá. Giờ bọn họ đang test giải mã dữ liệu đã làm được mã hoá ngơi nghỉ trên với hàm DecryptByPassPhrase


select convert(varchar(100),DecryptByPassPhrase("MAK", 0x01000000CBB7EE45B5C1460D6996B149CE16B76C7F7CD598DC56364D106B05D47B930093)) select convert(varchar(100),DecryptByPassPhrase("MAK", 0x010000005E884D30C8FF7E4723D4E70A03B0B07F877667BAF1DA9BE1E116434842D11B99)) select convert(varchar(100),DecryptByPassPhrase("MAK", 0x01000000C508FB0C4FC7734B47B414D2602A71A338417DD685229173684D319334A084CD))

Kết quả

123456789 (1 row(s) affected) 123456789 (1 row(s) affected) 123456789 (1 row(s) affected)

Thử lời giải dữ liệu đã có được mã hoá với một mật khẩu đăng nhập không giống. Thực thi theo câu lệnh sau

select convert(varchar(100),DecryptByPassPhrase("test", 0x01000000C508FB0C4FC7734B47B414D2602A71A338417DD685229173684D319334A084CD))

Kết quả

NULL (1 row(s) affected)

Kết trái cho chính mình thấy Squốc lộ Server trả lại giá trị NULL nếu mật khẩu đăng nhập không đúng. Giờ họ sẽ test tạo thành một bảng chứa số thẻ tín dụng cùng số CMT, kế tiếp đang mã hoá dữ liệu này thông qua phương pháp mã hoá mật khẩu đăng nhập.

See more: ‎ Phần Mềm Ghép Nhiều Ảnh Online Đẹp Nhất Bằng Phần Mềm Miễn Phí


Tạo hai cột để lưu tài liệu đã được mã hoá

use go alter table add varbinary(MAX) go alter table add varbinary(MAX) go Cập nhật dữ liệu đã được mã hoá vào nhị cột vừa tạo use go update mix = EncryptByPassPhrase("Credit Card", convert(varchar(100),) ) go update set = EncryptByPassPhrase("Social Security", convert(varchar(100),) ) Go

Truy vẫn bảng bởi các lệnh sau (hình 1)

use go select * from go

Kết quả

*
Hình 1

Xoá vứt cột cất tài liệu không được mã hoá

use go alter table drop column go alter table drop column go

Truy vấn bảng theo những lệnh sau (hình 2)

use go select * from go

Kết quả

*
Hình 2

Giải mã dữ liệu trong bảng trải qua hàm Decryptbypassphrase nhỏng sau (hình 3)

use go select , convert(bigint,convert(varchar(100),decryptbypassphrase("Credit Card",) )) as , convert(bigint,convert(varchar(100),decryptbypassphrase("Social Security", ) )) as from Go

Kết quả

customer id,Credit Card Number,Social Security Number 1, 1234567812345678, 123451234 2, 1234567812345378, 323451234 3, 1234567812335678, 133451234 4, 1234567813345678, 123351234 5, 1234563812345678, 123431234

*
Hình 3

Tóm lại Mã hoá dữ liệu thực sự vô cùng đặc biệt. Thông qua bài này Shop chúng tôi sẽ reviews mang lại các bạn 1 trong các 4 kỹ thuật mã hoá sẵn tất cả trong SQL Server 2005 – kỹ thuật mã hoá bởi mật khẩu đăng nhập – và phương pháp giải mã nó. Trong bài xích sau, họ đang đàm đạo về cách thức hack/khôi phục tài liệu đã làm được mã hoá bằng password này.


Chuyên mục: Chia sẻ