refresh
V2EX  ›  问与答

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

  •  
  •   refresh · Sep 8, 2013 · 3366 views
    This topic created in 4666 days ago, the information mentioned may be changed or developed.
    使用用户的密码作为key,但用户修改密码就麻烦了,加过密的数据要全部替换。
    如果是用固定的key,这个key被泄露了,不是所有用户的数据都会被解密?

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

    (刚刚想到的……)
    refresh
        3
    refresh  
    OP
       Sep 8, 2013
    @dorentus 之前也有这么想过,但用户重装app怎么办。
    不过用户重装app数据要么一起备份,要么一起丢失,不存在key丢了数据没丢的情况。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2596 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:43 · PVG 20:43 · LAX 05:43 · JFK 08:43
    ♥ Do have faith in what you're doing.