Chỉ với lý do đơn giản thế thôi, mà tớ cũng nghĩ ra được trò để viết rồi :D, vậy thì mọi người có ý tưởng gì, chưa thật hay, hoặc nghĩ nó bõ gì thèm làm, mà làm rồi thì ai dùng (phải làm lớn thì mới lên chuyện chứ). Không hẳn thế, việc một sản phẩm made in tự tui đã là hạnh phúc lắm rồi chạy được, dùng được, trước tiên là phục vụ mục đích bản thân, còn việc được nhiều người sử dụng nữa thì còn gì hơn thế nữa.
Tớ post bài này lên đây, cũng vừa có nghĩa là đem khoe, mặt khác cũng giúp được những ai đã và đang học lập trình mà chưa có sản phẩm cho riêng mình, thì đây là một ứng dụng cho mọi người tham khảo, để xem cách thiết kế chương trình, cách thức hoạt động ra sao, bắt lỗi, sự kiện trong quá trình hoạt động.
Ban đầu tớ chỉ có ý tưởng là check mã MD5 thôi, nên nó có tên là QuickMD5, nghĩa là ta có thể lấy mã băm MD5 một cách dễ dàng nhất. Nhưng trong .Net sẵn có các thư viện tính mã SHA-1, SHA-2, nên tiện thể thì nhét chung chúng nó vào một thể
Nếu như bạn cũng thường xuyên tải xuống và kiểm tra các ứng dụng có thể thực thi thì nó có thể là một công cụ hữu ích cho bạn...
Dưới đây là một vài hình ảnh về chương trình và các tính năng mà nó cung cấp cho bạn
Giao diện chính của chương trình
Giả sử bạn thường phải tính mã băm này để kiểm tra hay thi thoảng cần dùng, mà không muốn vào tận thư mục (ồ chứa) để mở ứng dụng này lên. Nó cho phép bạn thêm vào context menu khi bạn click phải chuột lên các đối tượng trong windows explorer. Đây chỉ là cách sử lý thêm phần mở rộng vào trong regedit của windows thôi. Vậy thì chỉ cần phải chuột lên file tập tin và chọn Quick MD5, thì ứng dụng tự động được khởi chạy và cho bạn các mã băm của nó
Để thêm được tuỳ chọn này bạn chỉ cần chạy nó dưới tài khoản quản trị mới được, còn tài khoản người sử dụng thì nó không cho phép ứng dụng tác động lên Regedit. Việc làm này chỉ cần thực hiện một lần cho những lúc tháo hoặc gỡ menu truy cập nhanh
Để kiểm tra mã băm nào đó: MD5, SHA-1 hay SHA-2, thì bạn chỉ việc sao chép (copy) mã băm tương ứng muốn kiểm tra vào Clipboard, xong tiến hành chọn menu Compare trong ứng dụng. Nếu đầu vào tương ứng với mã băm nào thì menu item tương ứng sẽ được sáng lên, ngược lại thì tối đi không cho người sử dụng click linh tinh.
Sau đó một thông điệp (message) hiện ra, cho bạn biết là nó có trùng (khớp với mã tương ứng đang tồn tại trong textbox hay không) Your code matches --> Mã trùng khớp, khác thì --> Your code not matches
Bạn có thể down chương trình về xem thử tại đây, mã nguồn chương trình ở phía dưới. Có gì thì mọi người cho ý kiến tại đây luôn
http://www.mediafire.com/download.php?znyt0zdyzig
Các kỹ thuật được áp dụng trong ứng dụng này, sơ đẳng vẫn là xử lý lớp đối tượng, sử dụng thư viện và api. Ứng dụng đa luồng trong bài viết trước cũng được xử lý, do khi tính toán mã băm nếu bạn không cho nó chạy ở một luồng khác thì, chương trình chính phải chờ đợi, dẫn đến hiện tượng đơ. Thường thì người sử dụng thấy ứng dụng của họ đơ là bật task manager lên là tắt thôi, vì thế ta nên tránh trường hợp này
Đây là kết quả thu được, mã băm của chương trình
MD5: D890A22E457562435859AE238C8F4C35 SHA-1: 428E74B1E12B47ED516185CF3FCE51A81D2A2B16 SHA-256: 34E464043B9EDE3E2CD75CBDD1C356517FFA6B8E6A056BBA37789AA5B231BF8C SHA-512: 70488DC262B156D473358089A0EC17A20129BFA56281B109EB7A4BA750F3B473573D152DB98EC4DF21A6858672985E027742395C30A892076AADEC3B9642009FKiểm tra chạy thử trên Windows Xp thì chương trình gặp một số lỗi linh tinh mặc dù đã có framework 3.5 chứa namespace System.Core; Mà không biết tại sao nó lại không tính được mã SHA-2. Nên mọi người tải source của chương trình tại đây về bug thử xem là tại sao nhé
http://www.mediafire.com/download.php?oungjjxyi1y
0 comments:
Đăng nhận xét