V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cnt2ex
V2EX  ›  程序员

物理存储稍微大一点的文件(~ 50K)有什么好办法?

  •  
  •   cnt2ex · 51 天前 · 5863 次点击
    这是一个创建于 51 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如有一些数据需要物理保存。 希望导入和导出能方便,能想到的就只有编码成二维码的形式再打印出来。 但是单个二维码编码的数据最大也就 2950 字节,对于 50K 左右的数据来说需要分割成太多份,感觉也挺麻烦。

    不知道有没有更好的办法。

    77 条回复    2025-03-07 18:08:27 +08:00
    XXWHCA
        2
    XXWHCA  
       51 天前
    光盘、磁带:是我被淘汰了吗?
    superchijinpeng
        3
    superchijinpeng  
       51 天前
    db ?
    xiaoqidev
        4
    xiaoqidev  
       51 天前
    之前刷到过一个彩色二维码,可以存储几十 M 的数据
    knightgao2
        5
    knightgao2  
       51 天前
    啊,u 盘不可以吗,不行就打印出来呗,加个 ocr 也不麻烦
    deplives
        6
    deplives  
       51 天前
    合着你的物理保存指的是用打印机打印出来?
    knightgao2
        7
    knightgao2  
       51 天前
    不过我觉得这个是个 x-y 问题,还是要问下,最开始的需求是什么?密钥保密?离线安全?
    XXWHCA
        8
    XXWHCA  
       51 天前   ❤️ 1
    @xiaoqidev 是这个 https://github.com/sz3/libcimbar
    使用手机或者电脑摄像头就可以解码图片内容,但是如果要打印出来需要彩印,然后还要考虑时间久了颜色问题
    shadowyue
        9
    shadowyue  
       51 天前
    成本你不说。
    你去淘宝搜,128M 的 SD 存储卡,几块钱一张。能读能写。
    my3157
        10
    my3157  
       51 天前   ❤️ 2
    按照 OP 的思路, 可能压缩之后 base64 然后打印最方便
    cnt2ex
        11
    cnt2ex  
    OP
       51 天前   ❤️ 1
    @XXWHCA @knightgao2
    用这些东西(光盘、磁带、U 盘)无法很好的验证数据是否真的没有被损坏。但如果打印出来,更容易看到哪里损坏了。

    @knightgao2 其次,OCR 存在一定的错误率,如果是几十 K 的数据在识别的时候出一个错,甚至得一个一个字符的找哪里错了,这是为什么我一开始考虑二维码的原因。

    @knightgao2 就是密钥+一些重要密码的保存,因为很多数据是用密钥加密后存在云端的。

    @xiaoqidev 彩色二维码感觉主要是用来没有网络的情况下,用相机传文件。如果说用于存储的话,如果褪色了,里面的就很难说还在不在了。
    my3157
        12
    my3157  
       51 天前
    试了下, 1M 出头的纯文本, 压缩 base64 之后, 调小字体(5 号)并做适当的排版(双栏), 大概 60-70 页 A4 即可打印出来
    cnt2ex
        13
    cnt2ex  
    OP
       51 天前
    @my3157 这个方法可以作为另外的一重保险用。但到时候导入计算机时,要么手动输入,要么 OCR 。而 OCR 一旦出错一个字符,还是得一个字符一个字符检查,相当于还是得手动输入。
    my3157
        14
    my3157  
       51 天前
    @cnt2ex #13 像 zip 这种这种格式都有自校验, 错了无法解压, 至于哪儿错了, 那就得有容错的方式, 二维码页一样, 信息密度高的时候都不好检查哪儿出错了
    my3157
        15
    my3157  
       51 天前
    @my3157 #14 所以, 如果不信赖电子存储, 首先考虑的是降低信息密度, 比如将数据用 AES/SHA 之类的强安全加密算法加密并冗余存储, 然后将密钥用二维码打印, 或者直接背下来
    MADBOB
        16
    MADBOB  
       51 天前
    @cnt2ex 多买几个 U 盘不就解决了,原文件+md5 校验文件确保正确,多份也确保不会意外损坏丢失
    sillydaddy
        17
    sillydaddy  
       51 天前   ❤️ 1
    OP 提到「如果打印出来,更容易看到哪里损坏了」,是不是想:物理备份 3 份副本,如果「肉眼发现」 1 份有所损坏,就换用另 1 份。

    其实它用到数字化存储也很容易,把「肉眼发现」变成「数据校验」就行。数字化不只有校验,更是有纠错,二维码本身就自带校验和纠错,缺失二维码的一部分,不会影响解码。

    纠错可以很强大的,磁盘大片的连续损坏、间隔损坏、超过 50%损坏,都是可以纠错的。二维码的纠错就分 3 、4 个等级。
    duanxianze
        18
    duanxianze  
       51 天前
    光盘磁带不就是物理存储?比打印到纸上安全多了
    UnluckyNinja
        19
    UnluckyNinja  
       51 天前
    这不就是说对象存储方案,文件可以哈希验证、冗余存储,为了保存文件打印出来总有种水洗煤火箭的感觉…… 冷存储的机械硬盘比冷存储的纸更容易保存吧,担心就多备份几份,用不同批次的硬盘。密码如果说的各网站密码,那保证 2FA 的可用性比保存密码更重要,忘了就重置
    zx123ok
        20
    zx123ok  
       51 天前 via Android
    54xavier
        21
    54xavier  
       51 天前
    @zx123ok 挺有意思的一个项目,试了下确实可用,就是 h5 在手机上高频的截取摄像头画面,解码,手机发热、消耗很大。
    Emiya1208
        22
    Emiya1208  
       51 天前
    mark 一下,有点意思,特殊情况下确实有可能是有需要的。
    chairuosen
        23
    chairuosen  
       51 天前
    需要物理保存 不是原始需求,说一下原始需求是什么。也许是 XY 问题
    busier
        24
    busier  
       51 天前
    @cnt2ex

    你应该考虑使用 BTRFS/ZFS 这类带校验的文件系统解决问题,他们可以发现存储器存储位反转,而磁盘读写不报错的情况。考虑到 ZFS 的复杂性,用 BTRFS 比较方便。

    然后,多 COPY 几个盘做备份!
    hefish
        25
    hefish  
       51 天前   ❤️ 3
    其实只需要一把精度很高的尺。
    比如你的文件转二进制之后是 e8 54 75 10 b0.... 把这个一串数 转十进制,比如转成了 3123095833234
    然后你只要找一根长 1 米的棍子,用一个精确的尺在 31.23095833234 。。。。cm 处 刻一刀。
    过了若干年,只要用尺子量一下那个刻度,发现是 31.23095833234 。。。。cm , 然后把这个 30 多的数字去掉小数点,转成 16 进制,就是原来的文件啦。
    Emiya1208
        26
    Emiya1208  
       51 天前   ❤️ 1
    看问题这么不细致的,楼主在后面的回复说了用来存储密钥或是密码。

    楼主认为 U 盘或是硬盘或是光盘难以观察出来数据是否损坏。但是我认为二维码我肉眼也观察不出来轻微的损坏啊?

    暂不清楚为什么对电子数据这么不信任。技术上验证电子数据是否损坏并不困难,莫不是假设了某种情况下没有计算机可用?

    但是我始终不认为人有能力在存储这方面做到比计算机更好。比如对 一份数据进行加密 然后计算哈希 然后对哈希值再次计算哈希,然后对 数据 第一份哈希 第二份哈希 这三样东西都做三副本备份。我不太认为这样的数据能被篡改。
    aru
        27
    aru  
       51 天前
    直接用二维码方式就行了。具体可以询问 AI ,20 多个二维码,我感觉打印在一两张纸就行了
    SenkjM
        28
    SenkjM  
       51 天前
    @cnt2ex 密码可以专门用冷备盘(建议光盘、硬盘双备份),关键性密码密钥文本打印或者手抄。如果是密钥文件的话建议使用几乎不会更改的互联网公开文件,这样你可以靠数量隐藏。
    aru
        29
    aru  
       51 天前
    @Emiya1208
    二维码是有冗余的,可以容许丢失若干百分比数据
    DOLLOR
        30
    DOLLOR  
       51 天前
    @cnt2ex
    用 rar 压缩包+恢复记录
    humbass
        31
    humbass  
       51 天前
    楼主没有表达清楚,实际上要的是数据以可见的方式呈现?

    如果是这样 1 楼 @cnnblike 、20 楼 @zx123ok 的答案最接近
    cnbatch
        32
    cnbatch  
       51 天前
    OP 这需求,完全可以重新使用十几年前 eMule 流行的时期顺带流行过的 .par2 校验。

    使用 par2cmdline 或者 MultiPar 给目标文件生成一堆校验文件,稍有损坏也不怕,只要损坏不多,就可以使用 .par2 文件恢复出原始内容
    TimG
        33
    TimG  
       51 天前 via Android
    @hefish 看到这个回复我黑历史上脑尬得脚趾抓地,因为我高中的时候真信过这本书。还跟朋友吹过,还好现在都不联系了。但愿他也不记得。
    horseInBlack
        34
    horseInBlack  
       51 天前
    @TimG 这是什么小说吗
    kirory
        35
    kirory  
       51 天前   ❤️ 4
    单片机接 FeRAM ,可以接 USB 当 U 盘用,接个太阳能板一直算 hash ,对了就亮绿灯,坏了就亮红灯
    weakish
        36
    weakish  
       51 天前
    可以定制高密度二维码,单个二维码可以保存 50 K 甚至更多数据。

    https://github.com/piql/boxing


    读取就比较麻烦,普通手机相机的解析度可能不够,需要比较强力的数码相机。
    mayli
        37
    mayli  
       51 天前
    啥叫物理储存?是打印到纸上储存?
    光盘,磁带,硬盘不行吗?
    ryd994
        38
    ryd994  
       50 天前 via Android
    @XXWHCA
    @knightgao2
    U 盘会漏电,光盘会降解,两者都不适合长期保存数据。
    U 盘是靠闪存里的电子记录数据。读写过程其实类似内存,但漏电速度比内存慢得多。理论上用 SLC NAND 而且多重备份的话会寿命更长。
    刻录光盘靠盘片里的染料记录数据。这个染料会逐渐降解。特别是潮湿高温的环境。


    @cnt2ex #11 你在开什么玩笑?果然是 XY 问题。校验码有没有听说过?还可以分段校验,精确告诉你哪一段损坏了。也可以加前向纠错码,也就是上面提到的冗余码,读取的时候不仅可以识别错误还可以修复错误。
    最不济你多存几份副本,在不同的媒介上。
    tywtyw2002
        39
    tywtyw2002  
       50 天前
    直接上 eeprom 不久行了。这东西 除了 静电,弄不坏的。
    dode
        40
    dode  
       50 天前
    可以压缩吗,
    TimG
        41
    TimG  
       50 天前 via Android   ❤️ 1
    @horseInBlack 天才在左疯子在右,很有名的畅销书,这是其中一个案例。作为小说思维清奇,可以充当酒桌轶闻,作为记实录和科普书籍则大有危言耸听、刻意满足猎奇之嫌。跟日本马桶水能喝、美国夏令营等“意林文章”差不多的时代性作品,只不过吹的是精神病人。
    NSAgold
        42
    NSAgold  
       50 天前 via Android
    @hefish #25 实际上不可行 以米为尺度转十进制你不能多于 35 位数字 现实中不存在 1*10^-36m
    NSAgold
        43
    NSAgold  
       50 天前 via Android
    @TimG 这个最早的出处应该是科幻世界来着 但是这个脑洞没有考虑数学是连续的,但真实世界不是,真实世界有最小单位普朗克长度
    strobber16
        44
    strobber16  
       50 天前 via Android
    刻石头上
    EastHorse
        45
    EastHorse  
       50 天前
    纹在身上
    langhuishan
        46
    langhuishan  
       50 天前   ❤️ 2
    一个外星人偶然来到地球,觉得地球很有趣,想带些资料回去。但因为飞船空间有限,他发现带整套《大英百科全书》不太现实。于是,外星人想了个办法:用数字代替字母,这样得到了一串长长的数字。然后在这串数字的前面加上"0." 使之以小数点的形式存在之后再以飞船长度为 1 , 根据之前的小数点与 1 的比例, 在飞船的某个地方刻上一个点`
    回到自己的星球后,及其精确地测量出那个点之于飞船所在的比例。
    wangtian2020
        47
    wangtian2020  
       50 天前
    存 U 盘在需要的时候再打印出来不行吗。我没搞懂物理存储的意义是什么,存在存储设备上/存在网络上,在任意需要的时候还是能打印出来变成物理存储啊
    unco020511
        48
    unco020511  
       50 天前
    你用 word 打印出来不就是物理存储吗
    midpoint
        49
    midpoint  
       50 天前
    质量好些的光盘刻录,放干燥箱,在你有生之年里都不会有问题
    fbxshit
        50
    fbxshit  
       50 天前
    用某些常数的某些位的一部分做你的密码,就永远不会丢失了。 比如 pi+e 的小数点后 100 亿位到 100 亿+100 位做你的密码,忘记了就拿个计算机再算一下。
    colincat
        51
    colincat  
       50 天前
    有点意思
    @langhuishan
    sjkdsfkkfd
        52
    sjkdsfkkfd  
       50 天前
    把这堆东西加密一下主密码写到纸上不就行了,加密的那堆玩意儿到处备份就行了,难道还怕有人能破解加密算法?
    vincentWdp
        53
    vincentWdp  
       50 天前
    @langhuishan 虽然但是, 物理尺度有极限的, 最多也就到夸克级别吧. 这跟数学上无限是没办法比的
    NoKey
        54
    NoKey  
       50 天前
    什么样的数据,需要如何回复读取,成本怎么样,都不提
    然后,怕不知道有没错误,搜一下校验码,先了解一下呗
    NoKey
        55
    NoKey  
       50 天前
    @langhuishan 牛逼
    Lovres
        56
    Lovres  
       50 天前
    emmm 这种需求.... 我记得有人用这种方法,跳过摆渡系统,把内网资料搞出来了 安全培训的一个案例
    2333wz
        57
    2333wz  
       50 天前
    二维码刻在石头上
    zjsxwc
        58
    zjsxwc  
       50 天前
    50K Byte 也就 18 个二维码,
    打印 18 个二维码来备份?
    jiny2048
        59
    jiny2048  
       50 天前
    > 用这些东西(光盘、磁带、U 盘)无法很好的验证数据是否真的没有被损坏。

    checksum:我在这
    charles0
        60
    charles0  
       50 天前
    试试 Paperbak https://ollydbg.de/Paperbak/ 原理和二维码是类似的
    meeop
        61
    meeop  
       50 天前
    刻在石头上
    Kaisar
        62
    Kaisar  
       50 天前
    让我想起了一个上古笑话转成二进制拿针刻光盘 或许是个可行的方案
    meeop
        63
    meeop  
       50 天前   ❤️ 1
    如果是字符,图片,视频,那么直接打印成册即可永久保存,浏览方便

    我理解你是认为电子介质存储可靠性无法保证,希望有一个能长期存储,且容易还原的存储介质

    目前已知的办法,有且只有一个,就是刻在稳定物理介质上,具体来说就是印在纸上,刻在石头上

    直接打印就是最经济有效的方案,各个档案馆也是这么干的
    而且要明文打印,不要打印二进制数据


    因为二进制数据就涉及编码,解码,和解码设备
    你现在的编码软件,100 年后大概率不可用了,除非你配套把算法,unicode 字符表也打印出来,未来根据算法重新实现解码软件

    不用担心 ocr 还原失败之类,技术在进步,以现在 ai 进步速度,未来 ocr 识别可以非常准,而且相关视频解码技术会非常成熟,说清楚需求 ai 帮你写就行
    InkStone
        64
    InkStone  
       50 天前   ❤️ 2
    补充一下上面的 base64 方案:可以采用 base64 的 OCR 友好变体 Base58 ( BTC 应该就是用的这个)。

    会稍微长一点,但大大提高 OCR 输入的精准度。
    TimG
        65
    TimG  
       50 天前 via Android
    @NSAgold 不光是最大尺度的问题,基础的热胀冷缩都没考虑。压强温度这些变量省掉了,牛顿看了都摇头。
    Richared
        66
    Richared  
       50 天前
    纹在屁股上。
    zxjxzj9
        67
    zxjxzj9  
       50 天前
    如果你说的二维码是指 QRcode ,那么 QRcode 是自带纠错码的,损失了一部分也可以还原信息,所以其实不用担心,一张 A4 纸也够能打印下 50kb 了
    635925926
        68
    635925926  
       50 天前
    说的好像纸很可靠一样。稍微泡点水就凉凉了。
    Habyss
        69
    Habyss  
       50 天前
    数据需要导出, 需要导入, 需要加密, 需要方便, 还提到没有网络, 彩色二维码会褪色, u 盘光盘不知道数据是否损坏, orc 会可能识别错误
    最后还要方便导入到计算机... 你最后都有计算机了, 为什么不用 u 盘, u 盘会坏, 一张纸不是更容易受到环境影响损坏? 还有为啥最后计算机没坏...
    acorngyl
        70
    acorngyl  
       50 天前
    OP 是不是想找冷钱包啊?
    想物理存储大量文本,还想肉眼校验,最靠谱的就是 CD 了,只要盘体不变质,没划痕,放个几十年没问题。
    最大的问题就是读取了。几十年后估计很难找到能用的 CD 机了。
    zxjxzj9
        71
    zxjxzj9  
       50 天前
    @acorngyl 真的要论介质储存,其实胶卷拍(打印)二维码是最持久的。
    symons
        72
    symons  
       50 天前 via iPhone
    想问下 什么样的数据需要这样保存
    MrKrabs
        73
    MrKrabs  
       50 天前
    你不知道 rar 吗
    Rendex
        74
    Rendex  
       50 天前
    M-disc ,千年盘,CD 的一种,理想条件实验室保存 600 年。容易坏的光盘是蓝光盘,用的是有机染料,所以阳光会让有机物的底层失效。空气湿度会让光盘变形。
    磁带干燥保存理论也是过百的。
    不行你就碳素墨水打印特种宣纸吧,古人认证的可以保存过千年的东西。
    胶卷感觉不行,因为老胶卷好多感觉都脆了,以后可能更难冲印。
    感觉大多数的储存只要保证干燥基本能解决大部分问题,所以买个真空机抽比较真空保存,半年/一年定期校验文件完整性就好了。不管是用机械硬盘还是磁带还是光盘。
    DIO
        75
    DIO  
       50 天前
    @NSAgold #43 物理意义上的最小尺度且不谈,测量精度,不确定度,置信度通通没有考虑,属于是接触过测量领域就没法看的程度
    felix0012
        76
    felix0012  
       50 天前 via Android
    @cnt2ex 完全一样的场景。我用脚本定时自动调用 gnupg 加密备份数据压缩包然后上传网盘。gnupg 的私钥就用的一楼提到的 paperbak 打印出来几份分散存放。

    有一次试着恢复过,手机拍照然后用 paperbak 识别,很顺利。
    opengps
        77
    opengps  
       49 天前
    放进 git 里我觉得更好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1147 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:09 · PVG 02:09 · LAX 11:09 · JFK 14:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.