我想跟踪日志文件。
用户只能使用公共密钥写入日志文件,并且必须对文件进行加密,或者用户必须先写入通过公共密钥加密的文件。 (用户无法编辑或读取文件。)
而且,我需要使用我的私钥读取该日志文件。
还是您有解决此问题的建议?
答案 0 :(得分:0)
Quora用户Adrian Ho给出了答案。
- 像 ChaCha20 这样的对称流密码(对于基于文本的日志;如果您以固定大小的块编写二进制日志,那么像AES这样的对称块密码也可以使用)
- 一种非对称密码,例如 RSA
几乎每种生产质量的语言都应在加密库中提供两种密码。我亲自接触过libcrypt(GnuPG的核心库)和NaCl(另一种强调易用性和速度的加密库),但请继续使用您所拥有的一切手。
创建RSA密钥对。
将公钥嵌入到记录程序中。
保持私钥私密。
每次创建新的日志文件时,它都会首先执行以下操作:
- 随机生成一个新的ChaCha20密钥。
- 用您的RSA公钥加密ChaCha20密钥。
- 在文件的开头写入加密的ChaCha20密钥。
工作完成。