V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
refresh
V2EX  ›  问与答

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

  •  
  •   refresh · Sep 8, 2013 · 3288 views
    This topic created in 4614 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   ·   3551 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 11:33 · PVG 19:33 · LAX 04:33 · JFK 07:33
    ♥ Do have faith in what you're doing.