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

求问 Windows 上有啥工具可以 把已有的文件以加密后的挂载盘显示 便于传输到网盘

  •  
  •   cy97cool · 2019-07-19 16:00:15 +08:00 · 3162 次点击
    这是一个创建于 1959 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有数据想备份到网盘,但不想让服务商获取明文信息

    一般的你可以自行加密一下(最简单的加密压缩),但在数据量很多的情况下这需要等待漫长的加密过程,需要自己记住这次加密用到的密码,而且还需要相当大小的硬盘空间临时储存加密后的文件

    求问有没有这么一款工具,用户指定源目录,就挂载出一个文件系统,以加密后的形式显示文件,在浏览器上传的时候读取文件才进行透明加密操作,浏览器读到的就是密文,不产生临时文件

    我需要的不是 TrueCrypt 这种需要自行把文件移动进去的加密方案,源文件本身不需要加密,只要读取挂载盘是加密的即可

    第 1 条附言  ·  2019-07-19 17:04:13 +08:00
    需要的是一个文件系统,只要从这个文件系统读取文件,即进行文件加密再返回
    现有的 cryptomator,truecrypt,vhd+bitlocker 等方案都需要对已有数据进行加密,我不需要加密存储

    更多可行方案:定制浏览器,定制的上传工具(不够通用)
    第 2 条附言  ·  2019-07-19 17:40:37 +08:00
    https://github.com/vgough/encfs

    encfs 的 reverse mode 提供了对明文数据的加密显示

    https://encfs.win/
    第 3 条附言  ·  2019-07-19 18:05:09 +08:00
    具体用法:下载安装 https://github.com/jetwhiz/encfs4win/releases

    cmd 中"C:\Program Files (x86)\encfs\encfs.exe" -f --reverse d:/datadir y:

    -f 表示在前台运行,输入密码后不会退出,完事后 Ctrl+C 就自动 unmount 了

    第一次运行会询问初始化配置,我不想加密文件名,这样输入:

    x 进入 Manual configuration mode
    1 选择 AES
    128 选择 Using key size of 128 bits
    直接回车 选择默认的 filesystem block size 1024 bytes
    这一步要选 3:不加密文件名

    The following filename encoding algorithms are available:
    1. Block : Block encoding, hides file name size somewhat
    2. Block32 : Block encoding with base32 output for case-insensitive systems
    3. Null : No encryption of filenames
    4. Stream : Stream encoding, keeps filenames as short as possible

    下一步直接回车 不启用 per-file initialization vectors

    然后就是输入密码,后续挂载需要输入相同的密码

    重置加密密码或者修改加密选项直接把源目录的.encfs6.xml 删除即可

    需要解密的话:
    ENCFS6_CONFIG=/home/me/.encfs6.xml encfs /tmp/crypt-view /tmp/plain-view
    第 4 条附言  ·  2019-07-20 10:07:27 +08:00
    类似的支持 reverse mode 的工具还有 gocryptfs https://github.com/rfjakob/gocryptfs
    以及 cpp 版本的 cppcryptfs https://github.com/bailey27/cppcryptfs

    不过这个有存储的 overhead: https://github.com/rfjakob/gocryptfs/blob/master/Documentation/file-format.md
    而 encfs 不开启 per-file iv 的话原文件多大加密后还是多大
    27 条回复    2019-07-20 11:55:20 +08:00
    gam2046
        1
    gam2046  
       2019-07-19 16:20:01 +08:00
    你可以尝试 vhd/vhdx 挂载分区,然后对 vhd/vhdx 挂载的分区启用 BitLocker。上传的时候,直接上传 vhd/vhdx 文件。
    cy97cool
        2
    cy97cool  
    OP
       2019-07-19 16:28:28 +08:00
    @gam2046 你的做法还是 Truecrypt 那套方案 需要临时存储加密后的数据
    我不想存加密后的结果,只要浏览器读到的是密文即可
    shansing
        3
    shansing  
       2019-07-19 16:32:39 +08:00
    如果你是说不需要整个分区上传,希望每个文件透明加密的话,有个软件是 Cryptomator。不过我后来由于 Java 组件的故障没有启动成功,就不用了。
    hicdn
        4
    hicdn  
       2019-07-19 16:35:06 +08:00
    GPG 文件加密
    Aliencn
        5
    Aliencn  
       2019-07-19 16:40:40 +08:00
    系统自带的 bitlocker 搭配 vhd
    cy97cool
        6
    cy97cool  
    OP
       2019-07-19 16:43:21 +08:00
    @shansing Cryptomator 很类似 但它还是把数据加密存储了
    使用 Cryptomator 还是需要把现有数据移动进加密卷才能得到加密后的结果

    我只想以一种加密的方式打开已有的文件夹,不想动现有数据的存储方式
    cy97cool
        7
    cy97cool  
    OP
       2019-07-19 16:44:52 +08:00
    @hicdn
    @Aliencn
    我不需要加密方案 不需要类似 Truecrypt 的加密存储方案
    只要一种透明加密的文件系统
    shansing
        8
    shansing  
       2019-07-19 16:47:49 +08:00   ❤️ 1
    @cy97cool 如果严格这样要求,并且用浏览器上传到网盘的话,感觉你并不需要一个文件系统,而是需要一个定制浏览器(逃
    cy97cool
        9
    cy97cool  
    OP
       2019-07-19 16:48:53 +08:00 via Android
    @shansing 你说的对 我就这么想过 hhh
    但觉得文件系统更有可能有人做过
    loveour
        10
    loveour  
       2019-07-19 16:51:46 +08:00
    @shansing #8 +1.感觉更像是需要定制浏览器。
    @cy97cool #9 有个问题,文件系统怎么知道是你要打开文件还是浏览器 /上传软件在打开文件?
    shansing
        11
    shansing  
       2019-07-19 16:53:18 +08:00   ❤️ 1
    @loveour 我估计他的要求可以回退到,只要从这个文件系统读取文件,即进行文件加密再返回。
    cy97cool
        12
    cy97cool  
    OP
       2019-07-19 16:54:04 +08:00 via Android
    @loveour 这个工具比如说把 d:\data 挂载成 w:盘
    所有程序读 w 盘就读到相同的文件夹结构 但文件内容是加密后的
    不需要区分到底是谁在读取
    KyonLi
        13
    KyonLi  
       2019-07-19 16:54:14 +08:00
    文件系统加密对上层应用都是透明的吧,没见过需要应用自己实现解密的
    cy97cool
        14
    cy97cool  
    OP
       2019-07-19 16:55:39 +08:00 via Android
    @KyonLi 这个需求就是透明加密反过来做 hhh
    确实需要同时提供解密应用
    jhytxy
        15
    jhytxy  
       2019-07-19 16:57:29 +08:00 via iPhone
    自建一个 owncloud
    挂载网盘选上数据加密

    群晖也可以做到
    jhytxy
        16
    jhytxy  
       2019-07-19 16:57:54 +08:00 via iPhone
    airexplorer
    Buges
        17
    Buges  
       2019-07-19 16:59:49 +08:00 via Android
    cryptomator
    encfs (各个平台都有各自的实现)
    cy97cool
        18
    cy97cool  
    OP
       2019-07-19 17:01:31 +08:00
    @Buges 需要的是反过来做的 cryptomator
    见#6
    loveour
        19
    loveour  
       2019-07-19 17:03:28 +08:00   ❤️ 1
    @cy97cool #12 明白了,你自己读取 d:\data 下的,虚拟一个磁盘出来,让浏览器 /网盘软件去读取这个加密后的虚拟磁盘,对吧?感觉这样的软件是有可能存在的,不过以前还真没想过这样用。。
    yan5990853
        20
    yan5990853  
       2019-07-19 17:10:58 +08:00 via Android   ❤️ 1
    透明加解密产品应该是符合你的需求,本地使用时无感知解密,离开本地就是自动加密。
    你看看中软防水墙、ip-guard。
    cy97cool
        21
    cy97cool  
    OP
       2019-07-19 17:15:38 +08:00
    @yan5990853 方向一致,不过就个人玩耍一下不想用商业软件
    也许会有开源实现呢
    Buges
        22
    Buges  
       2019-07-19 17:20:00 +08:00 via Android   ❤️ 2
    @cy97cool encfs,创建一个目录文件直接拷进去就可以(这个目录可以直接从云盘创建然后直接上传到这个目录)
    yan5990853
        23
    yan5990853  
       2019-07-19 17:20:25 +08:00
    @cy97cool 有些对个人免费的产品吧,你用“透明加密软件”这几个关键字找找。
    Buges
        24
    Buges  
       2019-07-19 17:21:48 +08:00   ❤️ 1
    @cy97cool #21 补图:
    ![a.png]( https://i.loli.net/2019/07/19/5d318b27628ad46345.png)

    encfs 是开源的,各个平台都有对应的实现
    cy97cool
        25
    cy97cool  
    OP
       2019-07-19 17:29:17 +08:00
    @Buges 感谢,encfs 的 reverse mode 可行
    msg7086
        26
    msg7086  
       2019-07-20 04:52:57 +08:00
    如果你用的是和 rclone 兼容的网盘的话,直接用 rclone 自带的加密就行了。
    wnpllrzodiac
        27
    wnpllrzodiac  
       2019-07-20 11:55:20 +08:00 via Android
    mega 网盘?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3125 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:56 · PVG 21:56 · LAX 05:56 · JFK 08:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.