写了一个简单的行级加密 Demo

2016-09-19 13:56:11 +08:00
 lxy

源于之前的一个想法: https://www.v2ex.com/t/302466 ,可以用于加密文章、代码、日记、日志等(然后可以上传到 github...)。最近了解了一些加密相关的知识,花点时间写了个 demo : https://github.com/BlowingDust/SimpleRowLevelEncryption

程序的目的在于,使得加密后的文本文件可用版本管理工具在行级范围内对其改动进行记录和跟踪。

方法是,对文本的每行内容使用 AES 的 CFB 模式加密后再进行 base64 编码,并回写到原文件。

比如使用随机生成的 256 位密钥

N!{|R((S@>r_|+ESe1dvJm#]2zc,)Jt,

加密以下内容(含换行)

123abc
  中文中文

换行了

加密结果

JiRtndCnC30phrx5+USf//6kBfaf8ps7qWg=
GtC38Je1YRSxiz6tjkAkZb+gWppMxF7nUm5B+2rLkg==
LyQAhYIaPRMYuP8aVDfq0Tg=
Qt+Whg4aY+awHWKsF6jz4MrO8CKRhkYVYw==

包括换行和空格在内的所有字符都会被加密。由于密钥复杂不便于记忆,预计后续会利用 RSA 对密钥进行加密,文件同步时忽略私钥。

感觉也就这样了,应该没什么缺陷吧。

2931 次点击
所在节点    信息安全
2 条回复
CHAOS187
2016-09-19 18:24:10 +08:00
感谢分享,一直没时间研究, Star 了 :D
ji4ozhu
2017-10-22 02:38:00 +08:00
有没有 C++的 Lib 或者 C++ 的源码啊。
Python 完全看不懂哎

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/307234

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX