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

Java 实现对任意文件进行添加指纹数据

  •  
  •   jimisun · 2023-09-01 08:36:45 +08:00 · 1622 次点击
    这是一个创建于 460 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求是这样的

    客户想对所有下载的文件添加水印,防止文件泄露,或者说泄露了能通过水印进行溯源。 但是由于文件类型太多了什么 zip ,rar ,一些稀有的文件格式等等,对每种文件类型实现解析,添加水印工程量太大了。

    我有一个想法

    有没有一种开源的机制或者规范,能在文件中存储一小点数据,也不破坏文件,类似于在文件头加一些描述信息,这个数据可能是个 json 。场景如下,在上传的时候在文件中记录 xxx 什么时间上传到系统,当下载的时候再记录 xxx 什么时候下载的,也能够溯源。

    当然这种想法防君子不妨小人....

    请问 有其他的解决方案吗?

    13 条回复    2023-09-01 14:46:17 +08:00
    hefish
        1
    hefish  
       2023-09-01 08:41:10 +08:00
    你说的是 svn 里的 $Id 吗?
    jimisun
        2
    jimisun  
    OP
       2023-09-01 08:48:03 +08:00
    @hefish 就是想在文件本身记录额外的信息,用于文件溯源
    xtreme1
        3
    xtreme1  
       2023-09-01 09:00:06 +08:00
    这种需求应该靠 NDA, 我觉得考虑用技术手段实现是典型的程序员思维
    hefish
        4
    hefish  
       2023-09-01 09:05:54 +08:00
    是不是用 java 不大好实现, 应该在系统层级,磁盘写文件的时候, 加上签名或者水印啊。。。读的时候呢,默认把水印签名去掉。。复制的时候呢。。。加上新的水印。。。
    lwjef
        5
    lwjef  
       2023-09-01 09:08:17 +08:00 via iPhone
    直接上 ipguard 吧,你这方法自欺欺人。
    jimisun
        6
    jimisun  
    OP
       2023-09-01 09:10:55 +08:00
    哈哈 一块探讨探讨
    seeme
        7
    seeme  
       2023-09-01 09:15:59 +08:00
    写驱动透明加解密就行了
    putaozhenhaochi
        8
    putaozhenhaochi  
       2023-09-01 09:29:58 +08:00 via iPhone
    买个加密软件.公司电脑安装解密客户端可以打开. 离了公司文件是加密的 根本打不开
    zaitaoxiaoairen
        9
    zaitaoxiaoairen  
       2023-09-01 09:33:26 +08:00
    前段时间做过,不过是对接了一个 matlib 还是什么的算法包,给文件加水印,水印内容就是上传人和一个系统生成的文件唯一 code 等信息,不过是盲水印,后期可以根据上传的文件或者截图图片之类的通过算法包提取出其中的水印,根据水印内容中的 code ,去匹配是否是从系统泄露的
    yolee599
        10
    yolee599  
       2023-09-01 09:36:03 +08:00
    既然这么保密,直接发定制平板电脑给客户啊,还要带防拆功能,去除所有数据传出途径。
    jimisun
        11
    jimisun  
    OP
       2023-09-01 09:36:43 +08:00
    @zaitaoxiaoairen txt 这种怎么处理呢
    tianmalj0613
        12
    tianmalj0613  
       2023-09-01 09:52:13 +08:00
    你可以了解一下安全保密相关的软件产品,比如隐写溯源、密标检查,这些基本都是基于驱动实现的
    zaitaoxiaoairen
        13
    zaitaoxiaoairen  
       2023-09-01 14:46:17 +08:00
    @jimisun 最好就是把文件转换成 pdf 然后用这种方式加水印,你要去兼容所有类型的文件这种方式可能无法满足所有情况,不过大部分场景还是满足的,建议从业务角度去控制
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1032 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:52 · PVG 03:52 · LAX 11:52 · JFK 14:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.