Công cụ tính Hash: NET hỗ trợ sẵn các hàm cần thiết đề tính Md5 và SHA-

Một phần của tài liệu công nghệ thông tin với sự tự do sáng tạo và chia sẻ (Trang 34 - 36)

IV. Chỉ tiết thiết kế, mô tả hoạt động.

Công cụ tính Hash: NET hỗ trợ sẵn các hàm cần thiết đề tính Md5 và SHA-

hash trong namespace System.Security.Cryptograph. Tuy nhiên, qua thực tế sử dụng của em, các công cụ có sẵn này không phù hợp với việc tính Hash của một file, nhất là các file có kích thước lớn.

Hơn nữa nếu dùng các hàm có sẵn này, không thê biết được quá trình tính hash

đã chạy tới đâu và ước lượng thời gian tính toán cần thiết. Vì thế em tự cài đặt các

công cụ để tính hash theo hai thuật toán MD5 và SHA-I đã đề cập trong phần hai.

»ì IHash TInterface =l Methods © mnput (+ 1 overioad) ©_ re initaiize @©_ resuif (+ 1 overiod... Md5 [š Class š «

Interface IHash bao gồm ba phương thức dữ liệu đầu vào được nạp vào

bằng hàm input. Hàm zesu1t được dùng để báo hiệu việc nhập dữ liệu kết thúc và

trả về kết quả tính toán sau cùng. Hai clash MD5 và SHAI implement Interface này và chứa các hàm cụ thể cho từng thuật toán.

Class Task, là đơn vị quản lý các tác vụ send file mà chương trình đang thực hiện thông tin về task được lưu trong đĩa cứng, hiện tại định dạng file được sử dụng là dạng chữ trơn, một file thông tin sẽ có dạng thức như sau:

17/06/2009 1:09:46SA /* Thời điểm task được tạo ra */

01/01/0001 12:00:00 SA /* Thời điểm task hoành thành */

<

` hang lưu thông tin về giới hạn tốc độ, hiện chưa cài đặt

Pb

1 /* Số lượng user tham gia task */

</Thông tin về user, mỗi user 3 dòng theo thứ tự: Alias

TP

Port/>

1 /* Số lượng file trong task */

</ Thông tin về file, mỗi file gồm Đường dẫn

Kích thước

Số mảnh

Hash của từng mảnh /> /* Dòng cuỗi cùng: task hash */

Các file thông tin này được lưu trong thư mục TaskList ở cùng thư mục với file

Một phần của tài liệu công nghệ thông tin với sự tự do sáng tạo và chia sẻ (Trang 34 - 36)