举个例子,假设我们拥有一个 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” |