простое шифрование текстового файла на основе ключа

Я пытаюсь реализовать простой метод шифрования текстовых файлов, и я использую следующий код для этого. Код не написан мной, я просто погуглил и получил его. Техника шифрования кажется довольно простой, лаконичной и простой в реализации. Я вижу, что у него есть только одна функция, которая может выполнять шифрование и дешифрование на лету. Просто передайте ключ, он сделает свое дело. Тем не менее, я просто хотел знать, могу ли я проверить, передан ли ключ пользователем правильно или нет. В настоящее время он будет просто шифровать / дешифровать текстовый файл на основе переданного ключа. Но нет никакого механизма, чтобы проверить, расшифровываем ли мы с правильным ключом или нет. Какой бы ключ мы ни передавали, он будет расшифрован, но не будет читаемым. Есть идеи, как решить эту проблему?

procedure TEnDeCrypt.EnDecryptFile(pathin, pathout: string; Chave: Word);
var
  InMS, OutMS: TMemoryStream;
  cnt: Integer;
  C: byte;
begin
  InMS  := TMemoryStream.Create;
  OutMS := TMemoryStream.Create;
  try
    InMS.LoadFromFile(pathin);
    InMS.Position := 0;
    for cnt := 0 to InMS.Size - 1 DO
      begin
        InMS.Read(C, 1);
        C := (C xor not (ord(chave shr cnt)));
        OutMS.Write(C, 1);
      end;
    OutMS.SaveToFile(pathout);
  finally
    InMS.Free;
    OutMS.Free;
  end;
end;

Ответы на вопрос(3)

Ваш ответ на вопрос