Когда речь заходит о проверке целостности и неизменяемости данных, на помощь приходит хэширование. Например, если мы хотим передать файл по сети и убедиться, что он дошел до получателя без изменений, мы можем захэшировать его содержимое:
const verificationHash = SHA256(...fileContent);
И отправить хэш получателю, чтобы он мог проверить, что получил именно то, что отправлялось:
const receivedFileHash = SHA256(...receivedFileContent);
if (receivedFileHash === verificationHash) {
// Всё хорошо, хэши совпадают
} else {
// Внимание! Весь файл или его часть были изменены
}