Secrets是为Android系统提供一个强大的密码保护箱,只要将各种密码放到箱子里即可,密码箱提供了导入导出的备份功能!项目如图:

效果如图:

关键源码简单分析:

public class CSVReader { //csv 读取类
public class CSVWriter { //csv写入类

密码箱操作的文件格式是csv

public class FileUtils { // csv文件操作 创建、打开、还原、备份、删除、分析、加载……等操作
public class Flip3dAnimation extends Animation { // 3D换页效果 动画
public class OS { // 操作系统 比如:
public static boolean isAndroid30() { // 是否支持Android 3.0的API
public static void hideSoftKeyboard(Context ctx, View view) { // 隐藏软键盘
public static void invalidateOptionsMenu(Activity activity) { // 无效的选项菜单
public static void configureSearchView(Activity activity, Menu menu) { // 搜索
public static boolean supportsScrollWheel() { // 设备是否支持滚轮或轨迹球
enum PasswordStrength { // 密码强度枚举
public class BCrypt { // 加密类 实现OpenBSD风格
public class SecurityUtils { //管理加密密钥加密和解密数据
public class Secret implements Serializable { // 封装密码
public class SaveService extends Service { // 保存服务 关键服务 方法如下:
 public static synchronized void execute(Context context,List<Secret> secrets, Cipher cipher, byte[] salt, int rounds) { //后台队列保存密钥SaveService.secrets = secrets;SaveService.cipher = cipher;SaveService.salt = salt;SaveService.rounds = rounds;Intent intent = new Intent(context, SaveService.class);context.startService(intent);}
 @Overridepublic int onStartCommand(Intent intent, int flags, final int startId) { // 关键操作synchronized (SaveService.class) {final List<Secret> secrets = SaveService.secrets;final Cipher cipher = SaveService.cipher;final File file = getFileStreamPath(FileUtils.SECRETS_FILE_NAME);final byte[] salt = SaveService.salt;final int rounds = SaveService.rounds;SaveService.secrets = null;SaveService.cipher = null;SaveService.salt = null;SaveService.rounds = 0;if (null != secrets && null != cipher) {new Thread(new Runnable() {@Overridepublic void run() {int r = FileUtils.saveSecrets(SaveService.this, file,cipher, salt, rounds, secrets);// 保存成功否则刷新if (0 == r)backupManager.dataChanged();// 不存在则备份if (!FileUtils.restoreFileExist())FileUtils.backupSecrets(SaveService.this, cipher,salt, rounds, secrets);stopSelf(startId);}}, "saveSecrets").start();} else {stopSelf(startId);}}return START_STICKY;}

介绍完毕,项目下载!

开源项目之Android Secrets(密码箱)相关推荐

  1. 使用ConnectBot开源项目在android设备上管理你的linux系统

    最近,工作中有使用android通过ssh管理linux系统的需求,找到了这个ConnectBot这个开源项目https://github.com/connectbot/connectbot.http ...

  2. 【开源项目】Android 手写记事 App(半成品)

    该项目已上传到 CSDN 的 Git 平台中 项目地址:https://code.csdn.net/gd920129/whiteboard GIT SSH:git@code.csdn.net:gd92 ...

  3. 开源项目之Android繁体中文输入法

    一款功能强大的输入法,集合 "广东话.拼音.仓颉.速成"四种常用中文输入法,以及英文.数字及符号键盘,一按独立切换键即可变更.同一键盘可作中英文输入,无需切换,支持联想字功能,融合 ...

  4. 【开源项目】Android开发内置App自动升级

    1.准备工作,首先需要在AndroidManifest.xml中的application中加入以下内容 <providerandroid:name="android.support.v ...

  5. 【开源项目】Android下自定义HASH【支持一个key对应多个value--根据key排序】

    package com.peace.love.carpo_test.tool;import java.util.List; import java.util.Map; import java.util ...

  6. android 测试工具,Android开源项目第四篇:开发及测试工具篇

    本文为那些不错的Android开源项目第四篇--开发工具篇,**主要介绍Android开发工具和测试工具相关的开源项目**. Android开源项目系列汇总已完成,包括: 1.Buck faceboo ...

  7. Android 开源项目及其学习

    Android 系统研究:http://blog.csdn.net/luoshengyang/article/details/8923485 Android 腾讯技术人员博客 http://hukai ...

  8. Android开源项目分包方式学习(eoe、oschina、github)

    2019独角兽企业重金招聘Python工程师标准>>> 总感觉Android中关于分包的文章很少,或者几乎可以说没有.但是合理地分包,又可以使整个项目模块化,减少包与包之间的依赖,让 ...

  9. [Android开源项目] GitHub开源项目总结 (转)

    [Android开源项目] GitHub开源项目总结 GitHub开源项目android-styled-dialogs http://neast.cn/forum.php?mod=viewthread ...

  10. 优秀的 Android 开源项目

    为什么80%的码农都做不了架构师?>>>    摘要  转载http://www.trinea.cn/android/android-open-source-projects-vie ...

最新文章

  1. python语言安装-Python安装
  2. 既有“基本盘”又有“增长盘”,宝盛集团的营销“生意经”
  3. 新版mysql授权命令,缺一不可
  4. Quartz简单实例
  5. 移除项目中的CocoaPods
  6. HttpServletRequest说明
  7. python输入数组_python怎么输入数组
  8. 关于 QImage::Format_Mono
  9. RSA签名验签学习笔记
  10. TechTool Pro 11 Mac(硬件检测和系统维护工具)附序列号中文版
  11. 网易云系列爬虫-采集歌单内歌曲热评
  12. 《OceanBase 数据库系统概念》首次发布,系统精准定义 OceanBase
  13. C++ 设置字体颜色
  14. 手机显示服务器维护是啥意思,手机系统维护怎么解除_手机显示系统维护是什么意思_游戏吧...
  15. RenéDescartes可以教给您有关设计的知识
  16. mysql 1273错误
  17. 《IBM SPSS Modeler数据与文本挖掘实战》之文本挖掘算法
  18. ffmpeg实现视频实时动态时间水印
  19. ES聚合Aggregation---原生(restful)api
  20. IBIS模型的那些年这些事(一)

热门文章

  1. ie浏览器自动清理缓存简单设置方法
  2. 计算机窗口底色,将电脑的窗口背景调成护眼色-电脑护眼设置
  3. lync 2013标准版安装
  4. PTA 7-7 新年倒计时
  5. 高仿墨迹天气下拉拉伸图片
  6. port access vlan
  7. w10系统asp服务器搭建,win10系统搭建asp环境的操作方法
  8. 循环冗余校验码CRC
  9. 【渝粤题库】广东开放大学 招投标与合同管理 形成性考核
  10. 管理系统中计算机应用 tps,全国1月自学考试管理系统中计算机应用试题(5)