Đến nội dung


Chú ý

Nếu các bạn đăng kí thành viên mà không nhận được email kích hoạt thì hãy kiểm tra thùng thư rác (spam). Nếu không biết cách truy cập vào thùng thư rác thì các bạn chịu khó Google hoặc đăng câu hỏi vào mục Hướng dẫn - Trợ giúp để thành viên khác có thể hỗ trợ.


Hình ảnh
- - - - -

Hỏi về checksum


  • Please log in to reply
Chủ đề này có 4 trả lời

#1 quocbao

quocbao

    Lính mới

  • Thành viên
  • 8 Bài viết

Đã gửi 29-06-2005 - 12:17

Xin chào mọi người , mình có nghe về các thuật toán checksum (như MD5 , SHA-1)

Nhưng mình ko rõ giải thuật của nó như thế nào , ai thấu hiểu xin chỉ giúp :D

Bài viết đã được chỉnh sửa nội dung bởi quocbao: 29-06-2005 - 12:24


#2 queensland

queensland

    Hạ sĩ

  • Thành viên
  • 97 Bài viết

Đã gửi 30-06-2005 - 04:14

Mình chưa hiểu rõ câu hỏi lắm. "giải thuật" khác "thuật toán" ở chỗ nào?

#3 attack_alone

attack_alone

    Lính mới

  • Thành viên
  • 7 Bài viết

Đã gửi 07-07-2005 - 11:27

Theo mình thì checksum là mã kiểm sai dùng để kiểm tra xem dữ liệu được truyền đi có bị sai lệch so với ban đầu hay không, còn MD5 hay SHA-1 ... là các hệ thống mã hóa để đảm bảo an toàn nội dung dữ liệu.
Mình thử giải thích về vấn đề giải thuật và thuật toán nhé:
Thuật toán (cho đến nay vẫn chưa có một định nghĩa thực sự đầy đủ) nhưng có thể hiểu nôm na là một tập hợp các quy tắc để giải quyết một bài toán.
Còn giải thuật thì theo mình có hai cách hiểu:
1-Là khái niệm dùng để chỉ cách thức, kỹ thuật cụ thể để thực hiện một hướng đi đã đặt ra từ trước.
2-Cũng có thể hiểu là thuật toán.

Bài viết đã được chỉnh sửa nội dung bởi attack_alone: 07-07-2005 - 11:28


#4 ntson

ntson

    Binh nhì

  • Thành viên
  • 14 Bài viết

Đã gửi 19-07-2005 - 19:03

Thuật toán Checksum tức là thêm một số bit vào những bit dữ liệu truyền đi để nếu có lỗi sai thì biết sai ở bit nào đồng thời sửa được bit đấy (chuyển 0->1 và ngược lại).
Ví dụ đơn giản: 1 byte có 8 bit. Khi truyền đi thì thêm 8 bit này vào phía sau và thêm 1 parity bit. Bit này = 1 nếu số bit 1 ở 8 bit đầu là chẵn và =0 nếu ngược lại.
Tức là khi truyền đi thì thay vì truyền 8 bit thì truyền 17 bit. Ví dụ nếu byte là 01010101 thì khi truyền đi sẽ là 01010101 01010101 1.
Nếu không có quá 1 bit sai trong 17 bit này thì sẽ dễ dàng tìm thấy đó là bit nào(cái này đơn giản). Tất nhiên có thể có nhiều hơn 1 bit sai nhưng sác xuất này rất nhỏ.
Trong thực tế các tt checksum tốt thì số bit thêm vào sẽ ít hơn nhiều. Mình biết có 1 tt khác mà chỉ cần thêm 3 bit vào mỗi block 4 bit sẽ tìm ra lỗi sai nếu có không quá 1 bit sai trong 7 bit này. Nếu có không quá 2 bit sai thì phải thêm 4 bit vào mỗi 4 bit truyền đi.
Bạn có thể search tt mà bạn cần tìm.

#5 queensland

queensland

    Hạ sĩ

  • Thành viên
  • 97 Bài viết

Đã gửi 20-07-2005 - 23:15

Mình nghĩ là checksum đôi khi chỉ báo sai chứ không nhất thiết phải chỉ ra cụ thể bit sai.

Bài viết đã được chỉnh sửa nội dung bởi queensland: 20-07-2005 - 23:18





1 người đang xem chủ đề

0 thành viên, 1 khách, 0 thành viên ẩn danh