

หลังคัดลอกรูปออกจากการ์ด เรามักเปิดโฟลเดอร์ปลายทางดูว่ามีไฟล์ครบหรือเปล่า ถ้าจำนวนเท่ากัน ชื่อเหมือนกัน และลองเปิดได้บางรูป ก็ดูเหมือนว่างานสำรองน่าจะจบแล้ว แต่การตรวจแบบนี้ยังไม่ได้อ่านเนื้อหาของทุกไฟล์กลับมาเทียบกับต้นทาง
สำหรับชุดภาพที่เก็บไว้นาน ความกังวลก็ไม่ได้มีแค่ตอนคัดลอกครั้งแรก เราอาจย้ายดิสก์ เปลี่ยนเครื่อง หรือสร้างสำเนาเพิ่มในภายหลัง จึงต้องมีจุดอ้างอิงว่าฉบับที่ตรวจไว้เดิมมีเนื้อหาแบบใด ไม่อาศัยเพียงความจำว่าครั้งก่อนเคยเปิดดูแล้ว
Checksum เป็นเครื่องมือหนึ่งที่ใช้ตรวจความเปลี่ยนแปลงระดับไฟล์ได้ครับ แต่ต้องเข้าใจว่ามันช่วยตอบคำถามใด และยังมีส่วนไหนของการสำรองที่ต้องตรวจแยกอยู่
ไฟล์คนละชุดอาจมีชื่อเดียวกันได้ โดยเฉพาะเมื่อกล้องเริ่มเลขใหม่หรือมีการรวมงานหลายวัน ส่วนขนาดที่เท่ากันก็ไม่ได้บอกว่า byte ทุกตำแหน่งเหมือนกัน การตรวจสองอย่างนี้จึงช่วยพบความผิดปกติบางกลุ่ม แต่ไม่ควรถูกใช้ยืนยันความเหมือนทั้งหมด
Checksum อย่าง SHA-256 คำนวณค่าจากข้อมูลที่อ่านเข้ามา แล้วใช้ค่านั้นเป็นจุดเทียบภายหลัง เมื่อค่าของไฟล์ปัจจุบันไม่ตรงกับค่าที่บันทึกไว้ เรารู้ได้ว่ามีความต่างจากฉบับอ้างอิงตามการตรวจนั้น แต่ยังต้องหาต่อว่าความต่างเกิดจากอะไร
การแก้ metadata หรือฝังโปรไฟล์ใหม่ก็เปลี่ยนเนื้อหาไฟล์ได้ แม้ภาพที่เปิดดูยังเหมือนเดิม จึงควรแยกคำว่าไฟล์ไม่เหมือนฉบับเดิมออกจากคำว่าภาพเสีย ไม่สั่งเขียนทับหรือลบทันทีเพียงเพราะ hash ไม่ตรงโดยยังไม่ดูประวัติของไฟล์นั้น

ถ้าไฟล์ต้นทางมีปัญหาอยู่แล้ว การคำนวณ hash ก็เพียงเก็บลักษณะของไฟล์ที่มีปัญหานั้นไว้ มันไม่ได้ตรวจว่าองค์ประกอบภาพถูก stitch ดีหรือข้อมูลภาพอ่านได้ครบทุกส่วน จึงควรตรวจงานต้นฉบับตามความสำคัญก่อนกำหนดว่าเป็น baseline ที่ต้องการรักษา
สำหรับงานจริงอาจมีทั้งต้นฉบับจากกล้อง ไฟล์โปรเจกต์ และภาพส่งออก แต่ละกลุ่มมีบทบาทต่างกัน ควรบอกว่ากำลังตรวจกลุ่มไหน เช่น hash ของ JPEG ที่เผยแพร่ไม่ใช่หลักฐานว่าเก็บไฟล์ต้นทางของการ stitch หรือการแก้สีไว้ครบแล้ว
เมื่อกำหนดชุดอ้างอิงแล้ว ควรเก็บรายการชื่อสัมพัทธ์ ขนาดที่ใช้ประกอบ และ hash ใน manifest ที่เชื่อมกับรุ่นของชุดงานได้ พร้อมรักษาไฟล์รายการนี้ด้วย หากไฟล์กับ manifest ถูกแก้พร้อมกันโดยไม่มีประวัติ เราก็จะเสียจุดเทียบเดิมไปทั้งคู่
ระหว่างสร้าง baseline ควรใช้ชุดไฟล์ที่ไม่กำลังถูกโปรแกรมอื่นเขียนแก้อยู่ด้วย ไม่เช่นนั้นรายการอาจไม่ได้อ้างถึงรุ่นเดียวกับที่คัดลอกออกไป การปิดงานส่งออกให้เรียบร้อยแล้วระบุรุ่นของชุดข้อมูลช่วยลดความกำกวมตรงนี้ได้
ตัวอย่างคำสั่งต่อไปนี้ใช้ shasum กับไฟล์สมมติชื่อ example.jpg โดยระบุ SHA-256 และโหมด binary ชัดเจน เป็นตัวอย่างวิธีใช้ตามเอกสาร ยังไม่ได้รันตรวจไฟล์ภาพส่วนตัวของผู้ใช้
shasum -a 256 -b ./example.jpg > ./SHA256SUMS
เมื่อคัดลอกไฟล์กับรายการไปยังพื้นที่สำเนาแล้ว การตรวจต้องอ่านไฟล์จากพื้นที่สำเนานั้นจริง และทำจากตำแหน่งที่ชื่อสัมพัทธ์ในรายการอ้างถึงถูกต้อง ไม่เผลอรันกลับไปอ่านต้นทางเดิมแล้วสรุปว่าปลายทางผ่าน
shasum -a 256 -c ./SHA256SUMS
สำหรับหลายไฟล์ควรใช้วิธีสร้างรายการที่รองรับชื่อไฟล์ของเครื่องมือได้ถูกต้อง โดยเฉพาะชื่อที่มีช่องว่างหรืออักขระพิเศษ ไม่ต่อชื่อด้วยการแยกคำแบบง่ายๆ จนบางไฟล์ถูกข้าม และอย่าใช้ตัวเลือกที่ข้ามไฟล์หายโดยไม่รู้ผลแล้วรายงานว่าทั้งชุดครบ
คำสั่งที่ตรวจรายการยังมีขอบเขตตามรายการนั้น หากมีไฟล์ใหม่เพิ่มภายหลังแต่ยังไม่บันทึกเข้า manifest การตรวจผ่านก็ไม่ได้ยืนยันว่าครอบคลุมไฟล์ใหม่แล้ว ควรเทียบรายการที่คาดว่าต้องมีควบคู่กับผลตรวจเนื้อหาด้วย

เมื่อพบไฟล์ไม่ตรง ควรเก็บทั้งฉบับที่ตรวจพบและค่าที่คาดไว้ พร้อมระบุว่าตรวจจากดิสก์หรือชุดสำเนาใด จากนั้นเทียบกับสำเนาอื่นและประวัติการแก้ ไม่รีบสร้าง manifest ใหม่จากไฟล์ปัจจุบันเพื่อให้ข้อความตรวจกลับมาผ่าน เพราะจะลบร่องรอยของความต่างที่กำลังตามอยู่
หากเป็นการแก้ที่ตั้งใจ เช่น ลบตำแหน่งจากภาพเผยแพร่ ควรเก็บเป็นฉบับหรือรุ่นใหม่ที่มีที่มาชัด ส่วนต้นฉบับที่ต้องเก็บยังรักษากติกาเดิม วิธีนี้ทำให้การเปลี่ยนตามงานกับการเปลี่ยนที่ไม่คาดคิดไม่ถูกปะปนกันในรายการเดียวที่เขียนทับอยู่เรื่อยๆ
การมี hash ไม่ตรงยังไม่บอกว่าสำเนาไหนเป็นฉบับถูกต้อง ต้องมี baseline ที่เชื่อถือได้หรือหลักฐานอื่นช่วยตัดสิน เช่น รุ่นที่ตั้งใจส่งออกและวันที่ตรวจไว้ การเปิดดูภาพอาจช่วยตรวจผลใช้งาน แต่ไม่ใช้แทนการตัดสินความครบของ byte โดยอัตโนมัติ
Checksum ที่ผ่านยืนยันได้ในขอบเขตข้อมูลที่อ่านเทียบ แต่ไม่ได้ทำให้ดิสก์ลูกเดียวกลายเป็นสำเนาหลายแห่ง และไม่ได้ช่วยเมื่อสำเนาทั้งหมดถูกลบหรือเข้าถึงไม่ได้ จึงยังต้องวางการสำรองที่แยกความเสี่ยงและทดลองอ่านคืนจากชุดที่ต้องใช้กู้จริง
สำหรับโครงการที่ต้องเปิดด้วยโปรแกรมเฉพาะ ควรลองกู้ทั้งชุดไปยังพื้นที่ทดลองแล้วเปิดต่อให้ได้ ไม่ตรวจเฉพาะภาพสำเร็จรูปจนลืมไฟล์ประกอบหรือการอ้างเส้นทาง การผ่าน hash ของไฟล์ที่มีอยู่ไม่ยืนยันว่าเลือกสิ่งที่จำเป็นมาครบตั้งแต่แรก
ผลตรวจแต่ละรอบควรมีวัน ชุดรายการและพื้นที่ที่อ่านจริง พร้อมข้อที่ไม่ผ่านหรือยังตรวจไม่ได้ บทนี้เสนอวิธีสร้างหลักฐานดังกล่าว ยังไม่มีรายงานตรวจสำเนาภาพจริง จึงไม่รับรองว่าดิสก์หรือคลังภาพใดของผู้ใช้ปลอดความเสียหายแล้ว
การตรวจสำเนาภาพด้วย checksum ช่วยให้เทียบเนื้อหากับฉบับอ้างอิงได้เป็นระบบ เมื่อรักษา manifest อ่านไฟล์จากสำเนาจริง และแยกการแก้โดยตั้งใจออกจากความผิดปกติ เราจะตามความเปลี่ยนแปลงได้ชัดขึ้น ส่วนการมีไฟล์ที่ถูกต้องยังต้องทำร่วมกับสำเนาที่แยกความเสี่ยงและการทดลองกู้ เพื่อให้ข้อมูลที่ตรวจไว้กลับมาใช้ทำงานได้จริง