<p>为了解决您的主要目标,即使应用程序的<em>“日志在程序不使用时不受编辑”</em>,我建议您坚持使用为相同目的而设计的常用标准工具。在</p>
<p>例如,添加<a href="http://en.wikipedia.org/wiki/Digital_signature" rel="nofollow"><em>digital signature</em></a>:</p>
<blockquote>
<p>A digital signature is a mathematical scheme for demonstrating the authenticity of a digital message or document. A valid digital signature gives a recipient reason to believe that the message was created by a known sender, such that the sender cannot deny having sent the message (authentication and non-repudiation) and that the message was not altered in transit (integrity). Digital signatures are commonly used for software distribution, financial transactions, and in other cases where it is important to detect forgery or tampering.</p>
</blockquote>
<p>和/或<a href="http://en.wikipedia.org/wiki/Encryption" rel="nofollow">encrypt</a>文件:</p>
<blockquote>
<p>In cryptography, encryption is the process of encoding messages (or information) in such a way that third parties cannot read it, but only authorized parties can.</p>
</blockquote>
<p>这两种方法都是加密方法,如果使用的(私有)加密密钥被有效地保密,那么很难不被检测地更改文件内容。在</p>
<hr/>
<p>在Python中,两种方法都可以使用<a href="http://www.gnupg.de/" rel="nofollow">GnuPG</a>(<a href="http://pythonhosted.org/python-gnupg/index.html" rel="nofollow">python-gnupg</a>):</p>
<blockquote>
<p>The gnupg module allows Python programs to make use of the functionality provided by the GNU Privacy Guard (abbreviated GPG or GnuPG). Using this module, Python programs can encrypt and decrypt data, digitally sign documents and verify digital signatures, manage (generate, list and delete) encryption keys, using proven Public Key Infrastructure (PKI) encryption technology based on OpenPGP.</p>
</blockquote>
<p>我自己没有使用过这个Python库,但是GnuPG本身有点标准,例如,用于确保电子邮件通信或linux包分发的安全。在</p>
<p>请注意,您可能需要一个数字签名,即使您已经用这种方式加密了文件。这是因为加密使用了<a href="http://en.wikipedia.org/wiki/Public-key_cryptography" rel="nofollow">public key</a>,根据定义,这是公共的。在非对称密码学中,需要(秘密)私钥来解码密文并创建数字签名,即验证接收者(加密)和发送者(签名)的身份。在</p>
<hr/>
<p>如果您想使用encryption plus integrity check,请查看以下库:</p>
<ul>
<li><a href="https://cryptography.io/en/latest/" rel="nofollow">https://cryptography.io/en/latest/</a></li>
</ul>
<hr/>
<p>也就是说,当您的操作系统的访问控制机制提供的保护足够时,您就可以限制性地配置它们并依赖于它。(也不需要进行密码检查。)</p>