举个例子,假设我们拥有一个 Redis 服务器,它的 0 号数据库储存了用户的邮件地址以及经过加密的用户密码,这些数据可以用于登录用户账号。不幸的是,因为一次漏洞事故,这个服务器遭到了黑客入侵,并且经过确认,这个服务器储存的所有用户密码均已泄露。为了保障用户的信息安全,我们决定立即重置所有用户密码,具体的做法是:遍历所有用户的个人档案,为每个用户生成一个新的随机密码,并使用这个新密码替换已经泄露的旧密码。


    代码清单 11-4 用于重置用户密码的脚本代码:/database/reset_user_password.py



    表 11-5 重置之前的用户数据


    散列键名email 字段(邮箱地址) 字段(已加密密码)
    “user::54209”“”“669a533168e4da2fce34…4d2af”
    “user::73914”jack@spam.mail“e0caf7fc1245fa13fb34…a18eb”
    “user::98321”“”“1b9f3944bec47bed3527…388c1”
    “user::39281”mary@spam.mail“b7f6e3cd4ca27ac67851…75ccf”