V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lxy
V2EX  ›  问与答

加密代码的最佳方式?

  •  
  •   lxy · 2016-08-29 15:39:05 +08:00 · 2279 次点击
    这是一个创建于 3014 天前的主题,其中的信息可能已经有所发展或是发生改变。

    其实主要是想加密文章。

    使用 git 同步加密后的内容,原本想直接用 vim 自带的加密,但是会被 git 识别为二进制文件,也无法跟踪文字改动。

    base64 只做了简单转换,而且转换了回车符,导致所有文字都输出在一行。

    比如加密以下文字:

    这是一句话。
    这是另一句。
    完。
    

    希望生成加密字符串(这里用 base64 举例):

    6L+Z5piv5LiA5Y+l6K+d44CC
    6L+Z5piv5Y+m5LiA5Y+l44CC
    5a6M44CC
    

    所以有没有一种加密方式能够实现增量加密、方便跟踪改动的?解密至少需要密钥。

    9 条回复    2016-08-29 22:27:42 +08:00
    SpicyCat
        1
    SpicyCat  
       2016-08-29 19:02:39 +08:00
    vim 还自带加密?是什么功能。
    gpg 加个 -a 参数就可以让加密后的文件是文本类型。

    增量加密?如果加密后还能追踪改动,那加密就无效了吧?
    xenme
        2
    xenme  
       2016-08-29 19:52:58 +08:00 via iPhone
    按行加密不就满足你的需求了
    loading
        3
    loading  
       2016-08-29 21:14:49 +08:00 via Android
    如果你认为 base64 也算加密的话……

    我没话说,你爱怎样就怎样。
    msg7086
        4
    msg7086  
       2016-08-29 21:29:39 +08:00
    @loading 看 OP 最后那句。
    loading
        5
    loading  
       2016-08-29 21:31:32 +08:00 via Android
    最简单就是楼主建立本地 git ,然后打包压缩加密码再传。
    honeycomb
        6
    honeycomb  
       2016-08-29 21:37:41 +08:00
    AES 最简单(也是最不安全)的 ECB 配置,加上一些源文件的调整,或许某种程度能满足你的要求?

    但是要让它的密文也能通过差分比较的方式反映出修改的话,在编辑时只能用修订(而不能是插入)模式

    https://zh.wikipedia.org/wiki/%E5%9D%97%E5%AF%86%E7%A0%81%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%A8%A1%E5%BC%8F#.E7.94.B5.E5.AD.90.E5.AF.86.E7.A0.81.E6.9C.AC.EF.BC.88ECB.EF.BC.89
    bingocn
        7
    bingocn  
       2016-08-29 21:44:14 +08:00
    rc4, 按行做流加密
    wevsty
        8
    wevsty  
       2016-08-29 21:50:13 +08:00
    反应出加密以后文件的区别没有任何意义不是么?反正也看不懂,要是能看懂加密以后的密文,我只能送楼主真人工智能的称号了。
    如果是想要看起来没有加密但是实际上硬盘保存是加密保存的方案,可以使用 bitlocker 这样的分区加密方案,或者选择 EFS 这样的透明加密方案(选择 EFS 请记得备份加密证书,否则数据丢失无法找回)
    另外 base64 是编码方法不是加密方法
    SourceMan
        9
    SourceMan  
       2016-08-29 22:27:42 +08:00 via iPhone
    用方言写,自带加密
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1046 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:26 · PVG 03:26 · LAX 11:26 · JFK 14:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.