如何加密写入用户输入的文件中的消息?

Posted

技术标签:

【中文标题】如何加密写入用户输入的文件中的消息?【英文标题】:How to encrypt a message written in a file entered by the user? 【发布时间】:2014-03-08 13:35:42 【问题描述】:
        required.get(c);
    
    cout << "The encryption is over";
    required.close();
    destined.close();

此程序应加密/解密文件中的消息,用户应提及。它应该有 3 个功能,一个是检查输入文件是否存在,第二个应该是加密/解密每个字符,一个是加密/解密整个文件。问题是它一直说“文件不存在”。我不知道怎么读。第二个问题是加密功能(encFile)不起作用。

【问题讨论】:

required.open(infile.c+str()) 不是有效的语法。另外,您是否检查过该文件确实确​​实存在于您计算机的某个位置? 这是因为您的checkExistingFile() 函数中while(required.fail()) 中的条件永远不会改变。 另外,“加密功能不起作用”并没有告诉我们太多关于这个问题的信息。 “永不改变”是什么意思,请您解释一下吗? 你有两个加密功能。哪一个不行?究竟是什么不工作? 【参考方案1】:

问题是它一直说“文件不存在”。我不知道怎么读。

要解决此问题,请按如下方式更改您的 checkExistingFile() 函数:

 bool  checkExistingFile(string& inFile)
 
      ifstream required;
      required.open(inFile.c_str());
      while(required.fail())
      
           cout<< "The file does not exist, please enter another file " <<
                  "(leave empty to abort)"<< endl;
           cin >> inFile;
           if(infile.empty())  return false; 
           required.open(inFile.c_str());
      

      return true;
 

也许你应该考虑给用户一个打破循环的机会(例如给出一个空文件名),然后返回false

正如其他人和你自己在那里提到的,你的代码还有其他问题,我在这里不回答。

【讨论】:

以上是关于如何加密写入用户输入的文件中的消息?的主要内容,如果未能解决你的问题,请参考以下文章

创建后写入新的文本文件

在用户输入值而不覆盖以前的值后,如何写入 .csv 文件的下一行?

使用用户输入密码使用 DES 加密

Python中的RSA加密和解密

如何等待用户的输入并继续进行erlang并发编程中的进一步代码?

我如何修改指针数组中的字符串?