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

请教下大佬们,这种点状纹理的码,能否存储和解析 ID

  •  
  •   alcoholpad · 16 天前 · 2509 次点击
    https://imgur.com/PbI9NR4




    我需要将 ID (可以有规则)生成这种图案,不同的 ID 图案不同。这种图案能否存储 ID ,这样的话识别这种图案就可以解析出对应的 ID ,有办法做到吗。用 cursor 生成的程序尝试了好多次,解析出的 ID 都是错误的。

    如果将 ID 和生成的图案存储下来是可以实现这个需求,但是这样效率不高,一个是要将生成的图案存储下来,另一个是图像对比也比较耗时,如果量很大的话,就不合适了。
    第 1 条附言  ·  16 天前
    第 2 条附言  ·  16 天前
    要实现防伪码的需求,图案的要求就是要这种的,不要问我为什么不用二维码了。
    33 条回复    2025-04-23 12:47:39 +08:00
    lhDream
        1
    lhDream  
       16 天前   ❤️ 1
    你这个不就是二维码么...
    alcoholpad
        2
    alcoholpad  
    OP
       16 天前
    @lhDream 不是二维码,是二维码就简单了
    kaicity
        3
    kaicity  
       16 天前
    这个太小了不好识别吧
    alcoholpad
        4
    alcoholpad  
    OP
       16 天前
    如图:
    Mrliduanyang
        5
    Mrliduanyang  
       16 天前
    加 v 帮你看下,atob("bGlfX05P")
    levelworm
        6
    levelworm  
       16 天前
    规则映射?能知道 ID 是什么样子的吗?纯好奇。
    xtreme1
        7
    xtreme1  
       16 天前
    原始需求是什么?
    如果只是让其他应用扫不出来, 加密一下再编二维码就得了
    你这四个角都有定位点, 方向错了都不知道.
    shenjinpeng
        8
    shenjinpeng  
       16 天前
    这排列不规则啊, 怎么解析 ?
    andyskaura
        9
    andyskaura  
       16 天前
    你这就是手搓二维码吧,如果要相机识别,首先得有定位,透视变换成平面,然后通过再逐行读取数据,还需要有纠错机制。
    zpf124
        10
    zpf124  
       16 天前
    qrcode 还有三个定位图像用来识别方向以及多少像素宽度算一个解析位置,你这个码给我看的话,
    我连反正宽高都看不出来。
    lhDream
        11
    lhDream  
       16 天前   ❤️ 1
    @alcoholpad 就是二维码的功能啦... 不需要相机识别的话, 把二维码的三个定位点去掉 让 ai 给你写一个生成与解析,差不多
    alcoholpad
        12
    alcoholpad  
    OP
       16 天前
    @xtreme1 防伪码,需要做个小程序来扫这种码。
    alcoholpad
        13
    alcoholpad  
    OP
       16 天前
    @shenjinpeng 有些产品防伪码就是这种点状纹理的,扫出来显示产品的信息以及扫描次数扫描时间等。
    alcoholpad
        14
    alcoholpad  
    OP
       16 天前
    @andyskaura 是的这个图案的要求就是要这样,要相机识别的,比如有的产品防伪码就是这种,然后它有自己的小程序扫码验真伪,扫这个出来显示产品详细信息等。
    alcoholpad
        15
    alcoholpad  
    OP
       16 天前
    @Mrliduanyang atob("bGlfX05P")你这是啥
    815979670
        16
    815979670  
       16 天前
    @alcoholpad #15 粘贴到浏览器控制台敲回车就行,主要是防止爬虫直接获取微信号
    vikaptain
        17
    vikaptain  
       16 天前
    https://github.com/cyphar/paperback
    感觉这个项目可以满足你的需求
    rekulas
        18
    rekulas  
       16 天前
    实现是能实现,不考虑伪装这个能存的信息比隐水印大多了,但是需要自己调整算法,最后做出来可能还不如二维码,我觉得你路走偏了
    上面说的方法就最适合你,加密存储倒二维码就行了,这样只有你的程序能解码,对别人来说也是乱码
    MacsedProtoss
        19
    MacsedProtoss  
       16 天前 via iPhone
    思路错了 这里就应该存一个 id 即可 你的后台去展示这个 id 是否合法 被扫描过几次之类的信息不就完事了 前端搞那么复杂做什么
    SayHelloHi
        20
    SayHelloHi  
       16 天前
    用二维码

    使用算法加密产品 id 扫码识别出来后 提交给后台处理

    这个比自己自定义图片二维码简单一些吧
    DOGOOD
        21
    DOGOOD  
       16 天前
    和点读笔一个原理。现在的小学课本纸上都有这种密密麻麻的小点,比这个小多了,配套的教具都可以读。
    wangtian2020
        22
    wangtian2020  
       16 天前
    任何图案,对应一个确定的 string 。那不就是二维码吗!
    非要自己起一个轮子二维码变种,受罪去吧
    alcoholpad
        23
    alcoholpad  
    OP
       16 天前
    @wangtian2020 我问的是码的图案要求是这样,有没有办法存储解析出来 ID.
    PopRain
        24
    PopRain  
       16 天前
    这个就是自定义二维码吧,开发商可以多赚一笔,别的设备还不好读取出来
    ljtfdt
        25
    ljtfdt  
       16 天前
    有木有可能读取是图片内部加的水印
    xiadengmaX1
        26
    xiadengmaX1  
       16 天前
    @alcoholpad #14 逆向抓包这个小程序应该是最简单的了
    manhere
        27
    manhere  
       16 天前
    防伪码本身不需要防伪,除非你是离线的信息都在码里。
    snow0
        28
    snow0  
       16 天前
    防伪一般不是刮去覆盖层进行扫码,告诉用户是不是真的和扫描次数
    wyntalgeer
        29
    wyntalgeer  
       16 天前
    谁要求的让它实现
    noyidoit
        30
    noyidoit  
       16 天前
    可以参考二维码的原理实现一个纠错机制,识别失败至少比识别错误要好得多
    lscho
        31
    lscho  
       16 天前
    不用纠结了

    原理很简单,但是问题是点状块太小,没有任何纠错和定位机制,导致使用手机相机识别(像素达不到)根本没法做。

    如果是直接上传原图识别,那就太简单了
    UnluckyNinja
        32
    UnluckyNinja  
       15 天前 via Android
    我是这么想的,

    你在前端拍一张照片,把照片发到后端去识别解析再,等价于在前端识别一张二维码,包含原本应拍得的照片编码数据,发送到后端去解析判断。如果在前端通过自定义算法进行识别/验证,那么只能是防君子不防小人,这个自定义算法一定会被逆向出来。

    前端显示成什么样不重要(除非你用法币那种物理意义上的高难度/高成本防伪技术),重要的是前端代表的编码信息不被人破解,那么你需要实现的其实是在线验证注册码的机制。

    注册码自身要做到高熵,冗余、稀疏、无序、自校验等等。
    在线验证要做到一号只能验证一次,验证后即失效,验证失败次数过多后限制频率(风控),还可以绑定在线账号对应到用户。
    还要加上涂层防止被随意验证,只让终端用户来进行,用户看到图层被刮开就知道有问题。用简洁的格式还能省点涂料。

    你更需要注意的是,如果伪造方从头到尾包办了整个验证流程,你怎么让用户发现出来?(那种发送注册码到陌生手机号的我真的是没眼看)。
    UnluckyNinja
        33
    UnluckyNinja  
       15 天前 via Android
    @UnluckyNinja #32 如果是为了应付甲方,改一下二维码算法算了,变一下样式,三大一小定位方块也改成别的形式,让微信扫码等识别不出来就可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3414 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:12 · PVG 19:12 · LAX 04:12 · JFK 07:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.