AES加密,用固定的key还是用用户自己的密码作为key好?

2013-09-08 16:18:58 +08:00
 refresh
使用用户的密码作为key,但用户修改密码就麻烦了,加过密的数据要全部替换。
如果是用固定的key,这个key被泄露了,不是所有用户的数据都会被解密?

加密方面完全是白痴,求轻拍
2842 次点击
所在节点    问与答
3 条回复
c
2013-09-08 16:23:01 +08:00
每个用户随机key?
dorentus
2013-09-08 16:26:11 +08:00
给每个用户生成一个固定的 key0,这个 key0 使用用户的密码加密后储存为 key1(key0 不储存)。
用户的数据用 key0 加密(每次加密前要先用用户密码解密 key1 得到 key0)。
用户修改密码的话,先用原密码解密 key1 得到 key0,然后再用新密码加密 key0 得到新的 key1 存起来。

(刚刚想到的……)
refresh
2013-09-08 17:59:04 +08:00
@dorentus 之前也有这么想过,但用户重装app怎么办。
不过用户重装app数据要么一起备份,要么一起丢失,不存在key丢了数据没丢的情况。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/81753

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX