社区
Java
帖子详情
二维码采用QR编码,在生成二维码图片时候能对二维码私密信息进行加密
csyd1101
2012-04-05 05:06:08
类似于火车票的二维码实现,涉及到个人信息的怎么进行加密才能在市面上识别软件拍摄后不能看到?网上搜罗的资料都是如何将String类型的信息写入二维码图片中,生成二维码图片,同时还能进行该信息的解析。
我想求教一下,有没有什么处理能让一个String类型的写入图片中,生成二维码,拍摄识别后看不到私密信息。
...全文
3440
10
打赏
收藏
二维码采用QR编码,在生成二维码图片时候能对二维码私密信息进行加密
类似于火车票的二维码实现,涉及到个人信息的怎么进行加密才能在市面上识别软件拍摄后不能看到?网上搜罗的资料都是如何将String类型的信息写入二维码图片中,生成二维码图片,同时还能进行该信息的解析。 我想求教一下,有没有什么处理能让一个String类型的写入图片中,生成二维码,拍摄识别后看不到私密信息。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MiceRice
2012-04-05
打赏
举报
回复
[Quote=引用 9 楼 的回复:]
是不是可以理解为,数据一旦写入到二维码图片中,用软件识别出来的就是写进去的东西?如果想实现我说的那种就只能将想显示的放到一个二维码中,不想显示的放到一个二维码中?
[/Quote]
第一个问题回答是:是的。
第二个问题回答是:好像没意义,你放入另一个二维码,我也可以去扫描另一个二维码啊,还不是照样显示出来?
我认为火车票上的二维码信息,未必有身份证号码,有两个解决方案:
1、身份证号码只需要存储在购票系统里面就行了,所扫描出来的二维码只要能通过某个标识或者关键字能关联到购票系统的相关销售记录就行了。
2、类似数据库中不能直接存储用户密码的解决方案,火车票二维码可以存储身份证号码的MD5散列值,通过比对该散列值,就能基本确认身份证号码是否与该火车票号码一样了。
csyd1101
2012-04-05
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
识别的时候看不到是不可能的,只能做到让其看不懂。
也就是String中间有一部分加密了,这个也可以做到啊,并没啥难度。比如:
String name = "admin";
String pass = encode("password");
String desc = "超级用户";
String all = name + "\n" + pass + "\n" + desc;
I……
[/Quote]
是不是可以理解为,数据一旦写入到二维码图片中,用软件识别出来的就是写进去的东西?如果想实现我说的那种就只能将想显示的放到一个二维码中,不想显示的放到一个二维码中?
csyd1101
2012-04-05
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
识别的时候看不到是不可能的,只能做到让其看不懂。
也就是String中间有一部分加密了,这个也可以做到啊,并没啥难度。比如:
String name = "admin";
String pass = encode("password");
String desc = "超级用户";
String all = name + "\n" + pass + "\n" + desc;
I……
[/Quote]
恩呢,那类似于火车票的那种二维码,如果实名制了,里面应该也有身份证信息吧?这种也就是俗话说的不想让看到的信息,用软件拍摄该二维码,也木有看到身份证号码,这个是怎么搞的吖?
csyd1101
2012-04-05
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
说了半天貌似你还是没理解啊,那个是加密,加密是另外一回事。
这么说吧,你先把原文String,每个字符单独拆出来,都 XOR 85,然后组装成新的字符串,这个字符串就可以认为是密文了,一般人看到这个字符串肯定不理解是什么意思。
然后就把这个密文转成二维码吧。
识别的时候,通过二维码扫描可以得到密文,然后再把每个字符单独拆出来,然后再 XOR 85,就得到原文了。
当……
[/Quote]
比如我想往二维码中塞入一个ID和name,我想让软件拍摄时候只能显示name,ID看不到,但是能通过获得该图片对象而解析。塞入二维码中的数据能不能控制其显示还是隐藏?
MiceRice
2012-04-05
打赏
举报
回复
识别的时候看不到是不可能的,只能做到让其看不懂。
也就是String中间有一部分加密了,这个也可以做到啊,并没啥难度。比如:
String name = "admin";
String pass = encode("password");
String desc = "超级用户";
String all = name + "\n" + pass + "\n" + desc;
Image = QRCode(all);
csyd1101
2012-04-05
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
说了半天貌似你还是没理解啊,那个是加密,加密是另外一回事。
这么说吧,你先把原文String,每个字符单独拆出来,都 XOR 85,然后组装成新的字符串,这个字符串就可以认为是密文了,一般人看到这个字符串肯定不理解是什么意思。
然后就把这个密文转成二维码吧。
识别的时候,通过二维码扫描可以得到密文,然后再把每个字符单独拆出来,然后再 XOR 85,就得到原文了。
当……
[/Quote]
我听你说的意思,就是一个编码和解码的过程。这样的加密和不加密效果差不多了。只是显示的东西能识别和不能识别的问题。我想咨询的是,不管怎么处理我放到二维码中的东西,用市面上的软件拍摄,能不能有种方法控制,让我塞到二维码中的那么多数据有的显示,有的不显示?也就是拍摄之后只能让他显示我想让它看到的东西?或者识别时候会自动屏蔽到我不想让它看到的数据,这个数据不是以某种不能直观看到的方式,而是根本不显示。【PS:有点儿纠结了。。。】
MiceRice
2012-04-05
打赏
举报
回复
说了半天貌似你还是没理解啊,那个是加密,加密是另外一回事。
这么说吧,你先把原文String,每个字符单独拆出来,都 XOR 85,然后组装成新的字符串,这个字符串就可以认为是密文了,一般人看到这个字符串肯定不理解是什么意思。
然后就把这个密文转成二维码吧。
识别的时候,通过二维码扫描可以得到密文,然后再把每个字符单独拆出来,然后再 XOR 85,就得到原文了。
当然,这种级别的加密,破解实际上很容易。
csyd1101
2012-04-05
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
二维码并不负责加密,二维码跟条码(一维码)的设计目标是一样的,方便机器能否自动识别图文信息,并有一定的抗破损、扭曲和污染能力。
所以如果要加密的话,应该是先把信息加密好,再转为二维码。
比如你可以把原始信息,先用某种对称或非对称加密算好,生成二进制流转为BASE64字符串,然后再将其转为二维码。那么别人即便能扫描出二维码的内容,也只能得到一组看不懂的密文。
至于加密算法,这个就可……
[/Quote]
能实现看不懂的密文,那像火车票一样的,那种效果是基于什么实现的吖?所有信息都写入到二维码图片中,但是识别软件拍摄后,就是类似密文那样的不显示?
MiceRice
2012-04-05
打赏
举报
回复
二维码并不负责加密,二维码跟条码(一维码)的设计目标是一样的,方便机器能否自动识别图文信息,并有一定的抗破损、扭曲和污染能力。
所以如果要加密的话,应该是先把信息加密好,再转为二维码。
比如你可以把原始信息,先用某种对称或非对称加密算好,生成二进制流转为BASE64字符串,然后再将其转为二维码。那么别人即便能扫描出二维码的内容,也只能得到一组看不懂的密文。
至于加密算法,这个就可以根据你要加密的内容、加密级别和查验复杂度要求,然后按需挑选了。
csyd1101
2012-04-05
打赏
举报
回复
求指教吖~~~
ThinkPHP5
生成
二维码
及背景
图片
合成
二维码
是我们在开发网站和项目的时候经常遇到的,我第一次接触
二维码
时,翻过许多资料,也请教许多所谓高人,被整的还是一头雾水,于是自己下决心一定搞明白
二维码
到底怎么回事,在经历许多坑,花费许多时间和精力后终于明白了,
二维码
真实情况,为了让大家少走弯路,避免各种坑,节约大家成本和时间,特制作此课程,让你彻底明白
二维码
的生成过程。
公众平台--扫描微信
二维码
,关注后自动登录
准备 使用微信公众号平台测试号测试 登录地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 接口配置
信息
:填写url和token url作用1: url为你的接口地址,当你配置的时候,微信会通过 get请求 自动调用接口,这一步的作用就是为了校验token,并且获取它带过去的随机字符串参数echostr。 url作用2: 还是这个接口,当你扫码关注公众号后,它会重新回调该url接口,只是这一次它发的是 post请求 ,并携带xm
4.1 简单的本地储存
让我们从最简单的储存方式开始,也就是把比特币存放在本地设备上。如我们之前所说,要使用比特币,你首先要知道 一些公共的
信息
和一些
私密
的
信息
。公共
信息
就是那些记录在区块链上的内容——该比特币的识别
信息
、币值等。
私密
信息
即比特币持有人——也就是你本人的私 钥。你不必太担心如何储存公共
信息
,因为你随时都可以去调取。但是私钥则是你需要好好保管的。所以在实际运用中,储存比特币就是储存与管理你的私钥。储...
CTF中简单杂项小结
MISC1 参考 CTF Wiki MISC 简介 主要分为几个板块:Recon,Forensic,Stego,Crypto(古典密码)… Recon:
信息
收集 主要介绍一些获取
信息
的渠道和一些利用百度、谷歌等搜索引擎的技巧 Encode(
编码
转换) 主要介绍在 CTF 比赛中一些常见的
编码
形式以及转换的技巧和常见方式 Forensic && Stego(数字取证 && 隐写分析) 隐写取证是 Misc 中最为重要的一块,包括文件分析、隐写、
比特币(英語:,缩写:BTC 或 XBT)是一種基於去中心化,採用點對點網路與共识主动性,開放原始碼,以區塊鏈作為底層技術的
加密
貨幣
(英語:,缩写:BTC 或 XBT)是一種基於去中心化,採用網路與共识主动性,,以區塊鏈作為底層技術的
加密
貨幣,比特币由中本聪(網名)(Satoshi Nakamoto)於2008年10月31日發表論文,2009年1月3日,創世區塊誕生。在某些國家、央行、政府機關、學術界則將比特幣視為虛擬商品,而不認為是貨幣。貨幣金融學認為貨幣具有交易媒介、記賬單位、價值儲藏三種基本職能,但由於其高度波動性因此不具有後兩種基本職能從而不是貨幣。比特幣用戶端程式中常見的標識捷克共和国布尔诺的比特币。
Java
50,527
社区成员
85,606
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章