Checksum
Checksum (การตรวจสอบความสมบูรณ์ของข้อมูล)
ค่าที่คำนวณจากบล็อกข้อมูลโดยใช้อัลกอริทึมเฉพาะ ทำหน้าที่เป็นลายนิ้วมือเพื่อตรวจสอบว่าข้อมูลไม่ได้ถูกเสียหายหรือแก้ไขระหว่างการจัดเก็บหรือส่งผ่าน
รายละเอียดทางเทคนิค
Checksum มีตั้งแต่แบบง่าย (parity bit, ผลรวมของไบต์, CRC32) ไปจนถึงแบบเข้ารหัส (MD5, SHA-256) CRC32 (Cyclic Redundancy Check, 32 บิต) เร็วและตรวจจับข้อผิดพลาดในการส่งผ่านทั่วไปได้ แต่ไม่ทนทานต่อการชนกัน MD5 สร้างแฮช 128 บิตและเคยเป็นมาตรฐาน แต่ตอนนี้ถือว่าถูกทำลายทางการเข้ารหัส SHA-256 ให้การรับรองความสมบูรณ์ที่แข็งแกร่ง ในทางปฏิบัติ การดาวน์โหลดซอฟต์แวร์จะให้ checksum SHA-256 ที่ผู้ใช้เปรียบเทียบกับการคำนวณในเครื่อง Web Crypto API subtle.digest() คำนวณ checksum แบบเข้ารหัสในเบราว์เซอร์ Adler-32 (ใช้ใน zlib) เร็วกว่า CRC32 สำหรับการตรวจสอบข้อมูลแบบสตรีม
ตัวอย่าง
```javascript
// Checksum — Web Crypto API example
const data = new TextEncoder().encode('sensitive data');
const hash = await crypto.subtle.digest('SHA-256', data);
const hex = Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0')).join('');
```