如何使用Python自主实现Base45格式QR二维码的生成?
免责声明:所有内容仅用于教育学习用途,请勿用于非法用途。
需求可行性分析
普通场景自定义二维码(如VCard等):完全可实现
这类二维码本质是对结构化纯文本内容进行编码生成,不需要任何签名校验逻辑。以VCard为例,你只需要按照VCard标准格式拼接你需要的姓名、出生日期、联系方式等自定义字段,示例格式如下:BEGIN:VCARD VERSION:3.0 FN:张三 BDAY:19900101 TEL:13800000000 EMAIL:test@example.com END:VCARD把拼接完成的完整字符串传入任意QR码生成工具/库即可生成可被正常识别的VCard二维码,全程不需要公钥/私钥相关权限。
欧盟健康通行证(HC1开头)类官方凭证二维码:无法生成具备官方效力的可验证凭证
HC1开头的二维码内容结构远不止明文的身份信息:Base45解码后对应的是包含数字签名的CBOR结构,除了姓名、出生日期等明文字段外,还有官方签发机构用专属私钥生成的数字签名。官方验证工具扫描时会调用预置的对应公钥校验签名合法性,你没有官方签名私钥的前提下,即使所有字段填写完全正确,生成的二维码也无法通过官方校验,仅能实现扫描后输出HC1开头的字符串的效果,不具备实际凭证效力。
内容的提问来源于stack exchange,提问作者itzo
相关产品推荐
相关产品推荐

