欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android仿支付寶手勢密碼解鎖功能

 更新時(shí)間:2016年11月29日 15:36:55   投稿:lijiao  
這篇文章主要為大家詳細(xì)介紹了Android仿支付寶手勢密碼解鎖功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

Starting

創(chuàng)建手勢密碼可以查看 CreateGestureActivity.java 文件.

登陸驗(yàn)證手勢密碼可以看 GestureLoginActivity.java 文件.

Features

使用了 JakeWharton/butterknife butterknife

使用了 ACache 來存儲手勢密碼

/** 
 * 保存手勢密碼 
 */
 
private void saveChosenPattern(List<LockPatternView.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<LockPatternView.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;
   }
  }
 }

可以開啟震動模式,當(dāng)選中一個(gè)圈的時(shí)候,手機(jī)會震動

/** * 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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論