700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android 支付宝手势密码锁 Android仿支付宝手势密码解锁

android 支付宝手势密码锁 Android仿支付宝手势密码解锁

时间:2020-03-16 22:49:53

相关推荐

android 支付宝手势密码锁 Android仿支付宝手势密码解锁

Starting

创建手势密码可以查看 CreateGestureActivity.java 文件.

登陆验证手势密码可以看 GestureLoginActivity.java 文件.

Features

使用了 JakeWharton/butterknifebutterknife

使用了 ACache 来存储手势密码

/**

* 保存手势密码

*/privatevoidsaveChosenPattern(ListLockPatternView.Cell>cells)

{

byte[] bytes = LockPatternUtil.patternToHash(cells); aCache.put(Constant.GESTURE_PASSWORD, bytes);}

Warning: 使用 ACache 类保存密码并不是无限期的. 具体期限可以查看 ACache 类.

使用了 SHA 算法保存手势密码

/**

* Generate an SHA-1 hash for the pattern.

* Not the most secure, but it is at

* least a second level of protection. First level is that the file is in a

* location only readable by the system process.*

* @param pattern* @return the hash of the pattern in a byte array.

*/

public static byte[] patternToHash(List<>Cell> pattern)

{

if (pattern == null) {

return null; } else {

int size = pattern.size();

byte[] res = new byte[size];

for (int i = 0; i size; i++) {

LockPatternView.Cell cell = pattern.get(i); res[i] = (byte) cell.getIndex();}

MessageDigest md = null;

try { md = MessageDigest.getInstance('SHA-1');

return md.digest(res); } catch (NoSuchAlgorithmException e) { e.printStackTrace();

return res;} } }

可以开启震动模式,当选中一个圈的时候,手机会震动

/** * Set whether the view will use tactile feedback.

*If true, there will be

* tactile feedback as the user enters the pattern.

* @param tactileFeedbackEnabled Whether tactile feedback is enabled

*/public void setTactileFeedbackEnabled(boolean tactileFeedbackEnabled) { mEnableHapticFeedback = tactileFeedbackEnabled;}可以开启绘制路径隐藏模式

/**

* Set whether the view is in stealth mode. If true, there will be no

* visible feedback as the user enters the pattern.

* @param inStealthMode Whether in stealth mode.

*/public void setInStealthMode(boolean inStealthMode) { mInStealthMode = inStealthMode;}Example

Android订阅是探讨Android开发的公众号,分享最有价值的Android干货文章

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。