GeekShare推出本地加密的免费TodoList工具
GeekShare为大家推出一款本地加密的免费TodoList工具
下图是系统界面,比较简单,主要分为项目和任务两个模块,项目可以理解为一个长期性的事物,需要分解成多个任务,每一个任务就是自己的一个Todo事项,按照四象限法则划分,
四象限法则是时间管理理论的一个重要观念是应有重点地把主要的精力和时间集中地放在处理那些重要但不紧急的工作上,这样可以做到未雨绸缪,防患于未然。
系统网址: https://www.geek-share.com/todolist
这个TodoList两大特色 : 本地加密+跨设备支持,既保护了个人数据安全和隐私,又增加了使用的便利性。
说起TodoList想必大部人都知道的,就是列出自己的待办事项,辅助个人做好时间管理,利用TodoList来管理自己的时间,能大幅提高办事效率,工作能有计划地稳步进行,高效人士一般都会列出自己的TodoList。
以前用笔列在本子上,现在一般都利用手机或者电脑上的一些TodoList工具,因此互联网上也存在不少TodoList类的工具,然而普遍存在便利性和安全性两个问题之一,从数据存储方式来看,分为存储在客户端本地和服务端。存储在客户端本地的,数据只有本地有,不会发送到网络,相对安全,隐私保护好,但是不太便利,换一个设备,是无法访问已有数据的,而存储在服务端,优点和缺点恰好相反,可以跨设备管理,但是数据隐私有隐患,因为服务器存储着个人的数据。
面对此类问题,GeekShare推出自己在用的一个TodoList,通过本地加密,加密密钥本身会加密后存储在客户端设备上,再将加密后的数据存储在服务端,实现数据隐私保护和跨设备使用。下面说说数据存储的方式和流程。
数据存储方式和流程 - 如何做到隐私保护和跨设备使用
首先,用户当然需要注册一个自己的账号,系统生成一个账号绑定的seqToken,用户用设备C1使用TodoList,设置一个秘密key1,这个key1会用seqToken加密后存储在设备C1的localStorage中,localStorage是H5提供的一个本地存储接口,只要用户不删除,永久保存在设备上。
用户编写的所有TodoList,都会经过key1加密,再将加密后的密文,发送到服务端存储,也就是说设备终端存储密码,服务端存储加密后的数据,设备拉取服务端的数据,再用设备上存储的密钥解密,展示给用户。整个过程除了最初需要用户设置一个个人密码外,其它使用用户是无感知的。
当用户换一个设备C2登录自己的账号时,这个时候设备C2是没有密钥的,无法解密从服务端拉取的数据,所以需要用户输入当时设置的密码授权,授权之后,设备C2也会存储加密后的密钥,这样设备C2也能查看TodoList内容了,实现跨设备管理访问
系统使用AES-CBC加密算法,AES加密算法是业界公认的高级加密标准,全世界都在使用,安全性有保障,系统采用AES的CBC加密模式,安全性更高
服务端存储的是加密之后的密文,无法知道真实内容,就算是遇到不可抗拒力量(服务器被攻击泄漏,网警强制查看数据)也不存在泄漏隐私的可能,因为除了你自己,别人是解密不了这些密文的
当然,考虑到用户对数据保护程度要求不高,只想即开即用,系统也支持服务端加密存储,这样用户不需要设置和记住个人密码,只需登录账号就能使用,可以在底部更改加密模式
几个关注的问题说明下:
1、密码存在本地,不是也存在泄漏的风险?
这个理论上不会的,因为密码也是经过AES-CBC加密的,是加密之后再存储的,而这个加密用的密钥是用户账号的seqToken,这个只有在用户登录的情况下才能拿到,也就是说在用户账号密码没有泄漏的情况下,别人拿到的本地密钥也是个加密的密文,没用利用价值
2、一旦对其它设备输入密码授权了,想收回授权怎么办
这个也简单,有两种方式可以解决,一是手动删除对应设备上存储的加密密钥,这样这个设备就无法解密对应的数据了,第二是可以修改加密密码,修改密码后,系统会拉取个人账号的历史数据到设备终端,解密之后再用新的密钥加密,再提交到服务器。相当于把历史数据洗了一遍,整个解密加密过程都在设备终端,和服务器交互的数据都是一段密文。当然,如果历史数据较多的话,整个处理过程可能需要一段时间才能完成,不过系统把整个处理过程都放在后台异步运行,不影响用户使用
3、如何验证数据是本地加密之后存储的
可以用抓包工具,或者直接用PC端浏览器的F12工具,查看系统的所有请求接口,可以看到请求和响应的内容都是加密的内容,对用户来讲都是一些毫无规律的字符,根本看不出是什么
4、如何验证对应的加密模式
GeekShare已经公开了对应的加密算法,加密算法是公开的,任何人都知道,但是好的加密算法就是这样的,即使敌人知道加密算法,却无法破解密文,没有密钥是无法解密的。加密算法和相关代码需要一定专业知识的才能看懂,这个单独列在一批文章: 《GeekShare推出TodoList的本地加密代码》
- Mac 终端效率神技
- react用Redux中央仓库实现一个todolist
- React-redux实现小案例(todolist)的过程
- React+Redux实现简单的待办事项列表ToDoList
- 关于工作流引擎ccflow待办分类 研究与技术实现
- vue实现todolist功能、todolist组件拆分及todolist的删除功能
- 详解vuex的简单todolist例子
- Vuejs 实现简易 todoList 功能 与 组件实例代码
- vue组件编写之todolist组件实例详解
- Vue.js实现简单ToDoList 前期准备(一)
- 利用vue写todolist单页应用
- vue实现todolist单页面应用
- 基于vuejs实现一个todolist项目
- vue.js实例todoList项目
- vue实现留言板todolist功能
- vue.js todolist实现代码
- 用React实现一个完整的TodoList的示例代码
- 使用Vue完成一个简单的todolist的方法