我正在尝试实现一个简单的文本文件加密技术,我正在使用以下代码来执行此操作.代码不是我写的,我只是用Google搜索并得到它.加密技术似乎非常简单,简洁且易于实现.我看到它只有一个功能可以动态地进行加密和解密.只需传递密钥即可.但是,我只是想知道,我是否可以检查用户是否传递了密钥是否正确.目前,它只是根据传递的密钥加密/解密文本文件.但是没有机制来检查我们是否使用正确的密钥进行解密.无论我们传递什么密钥,它都会被解密,但它不可读.知道如何解决这个问题..?
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;