Android 自定义密码键盘组件,支持多点触控

本文介绍了一个自定义Android密码键盘组件的实现,支持多点触控,旨在提高安全性,防止第三方键盘泄露用户信息。通过Canvas绘制键盘并处理点击事件,同时提供加密接口以增强密码保护。键盘组件可在GitHub找到,适合高安全要求的支付场景,也可进行功能扩展。
摘要由CSDN通过智能技术生成

前言

现在对于前端APP的安全要求越来越高,所以很多APP都开发了自己的数字键盘,这么做对于安全性的提升个人总结有如下几点:

  1. 防止第三方键盘出现BUG,泄露用户支付密码。
  2. 自定义键盘可以根据自己的算法提高加密等级,比如的密码是123456,但是我可以在内存中存储为xxxxxx。
  3. Android 系统黑客只能获取点击屏幕位置,并不能直接获得该按钮的具体值。
  4. 可以自定义按键的点击效果,防止录屏获取支付密码。(用户体验不好)
  5. 可以每次点击更改按键位置,防止屏幕位置点击对比获取支付密码。(用户体验不好)

个人认为,如果不是安全要求很高的系统,满足上述前3点即可,毕竟用户体验也是很重要的。不过最好还是要根据实际具体情况分析。

密码键盘DEMO

Github地址:https://github.com/AdolphL/PayKeyboard

密码键盘DEMO解析

自定义键盘的技术点在于Canvas画图和点击事件的编写

画图

这个我就不多讲了,多看看API就可以了。键盘绘画主要逻辑在onDraw方法下,主要就是算每个按键的范围和按键不同状态的背景色不同体现点击效果,整体的刷新函数使用的是invalidate()并没有使用局部刷新,原因是使用invalidate(xx)好像在高版本Android设备上没有效果也就没有尝试了,感兴趣的同学可以了解下。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值