May 24, 2009

Mã hóa password trong java với MD5

I. Giới thiệu
MD5 là giải thuật mã hoá 1 chiều, tức là bạn chỉ có thể mã hoá mà không thể giải mã được (chỉ có thể thông qua phương pháp dò). Đây là phương pháp phổ biến hiện nay dùng mã hoá các password.

MD5 được hổ trợ sẳn trong J2SDK tuy nhiên việc sử dụng nó lại tốn thời gian do phải gõ lại nhiều dòng code. Thư viện này sẽ giúp bạn sử dụng MD5 nhanh hơn.
II. Cài đặt
Bạn không cần cài đặt gì đặc biệt để có thể sử dụng nó, công việc duy nhất là thêm nó vào danh sách thư viện trong Eclipse của project bạn sau đó bạn có thể sử dụng.
Vào Project Properties
hoặc bạn có thể chép file thư viện vào trong thư mục chương trình của bạn sau đó bấm vào Add JARs (thay vì Add External JARs)

III. Sử dụng
Muốn gọi hàm tính hash MD5 bạn chỉ cần thêm dòng

thanhpham.crypto.MD5.calHash("CHUOI_CAN_TINH");
hoặc
thanhpham.crypto.MD5.calHash2("CHUOI_CAN_TINH");
Hai phương pháp tính này cho ra kết quả tương đương nhau.
IV. Demo
Bạn có thể xem ứng dụng demo tính MD5 Hash

V. Kết luận
Bằng việc sử dụng thư viện Crypto, bạn sẽ rút ngắn được thời gian code chương trình. Trong thời gian tới thư viện này sẽ cập nhật thêm một vài giải thuật mã hoá khác như DES, RSA.

Download bài viết ở đây
Download Cryptography Library (file thư viện) ở đây
Download chương trình demo ở đây
Download source code Cryptography Library (chưa hoàn chỉnh) ở đây
Bài viết này được sao chép từ http://www.daotaoltv.com

Sau khi tham khảo bài viết này mình đã viết một chương trình login sử dụng mã hóa password. Trong đó có chức năng cho các bạn change password

Các bạn click here download chương trinh demo
Mặc định:
  • Username: taluan
  • Password: 12345
Các bạn click here download source code

1 Comment:

YHT said...

MD5 nói chính xác hơn nó là hàm băm dùng trong kỹ thuật mật mã hoá. Nó là một hàm toán học để ánh xạ một chuổi nhập sang một chuổi khác có độ dài 128 bit. Tập các chuổi nhập thì vô tận trong khi tập giá trị hash là có giới hạn nên sẽ có thể có 2 giá trị hash trùng nhau đối với hai chuổi nhập khác nhau

Một hàm hash tốt (được dùng trong kỹ thuật mật mã) thường có những đặc điểm như:
- dễ tính toán giá trị hash từ chuổi nhập
- Khó hoặc không thề tìm lại được chuổi nhập từ chuổi hash
- Thay đổi nội dung sẽ dẫn đến chuổi hash sẽ khác (dùng để kiểm tra sự toàn vẹn dữ liệu)
- Khó hoặc không thể tìm ra 2 chuổi nhập có cùng hash string.

Post a Comment

Để chất lượng các bài viết ngày được tốt hơn, Bạn vui lòng để lại góp ý hoặc nhận xét vào khung bên dưới. Bạn có thể tự do nhận xét nhưng không trái với thuần phong mỹ tục. Khi gửi nhận xét xin vui lòng để lại: Tên, Địa chỉ mail hoặc địa chỉ Blog để tôi được biết bạn là ai. Xin cảm ơn!

Các bài liên quan




Recent Comments

Xã hội - VnExpress.net