V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
refresh
V2EX  ›  问与答

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

  •  
  •   refresh · 2013-09-08 16:18:58 +08:00 · 2814 次点击
    这是一个创建于 4085 天前的主题,其中的信息可能已经有所发展或是发生改变。
    使用用户的密码作为key,但用户修改密码就麻烦了,加过密的数据要全部替换。
    如果是用固定的key,这个key被泄露了,不是所有用户的数据都会被解密?

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

    (刚刚想到的……)
    refresh
        3
    refresh  
    OP
       2013-09-08 17:59:04 +08:00
    @dorentus 之前也有这么想过,但用户重装app怎么办。
    不过用户重装app数据要么一起备份,要么一起丢失,不存在key丢了数据没丢的情况。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1161 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 431ms · UTC 18:53 · PVG 02:53 · LAX 10:53 · JFK 13:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.