跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 有没有什么方法能实现加密存储后的数据统一修改密码?
未分類
2 5 月 2020

有没有什么方法能实现加密存储后的数据统一修改密码?

有没有什么方法能实现加密存储后的数据统一修改密码?

資深大佬 : nyse 47

假如有一堆数据,通过 AES 加密后存入数据库,密码由用户设定,有没有什么方案能实现一次性统一修改密码,还是一定要一条一条数据先读取出来,用旧的密码解密后再用新的密码加密?

大佬有話說 (9)

  • 資深大佬 : locoz

    数据加密用的密码随机生成,然后用用户设定的密码来加密这个密码,用户输入密码实际上是把这个密码解密出来?这样就变相实现一次性统一修改密码了(因为修改的只是解密密码用的密码)。
    不过这种做法不太实际…会增加特殊场景下的安全风险…

  • 資深大佬 : T0m008

    只能解密重新加密。如果能不用解密就能修改密码,那这个加密还有什么意义?

  • 資深大佬 : laminux29

    数据被加密时使用的秘钥,为存储秘钥。这玩意是第一次生成后就不能也不应该修改的,不然所有的数据都会被重新解密加密,性能消耗太大。

    业界的做法是,用户密码是用来加密存储秘钥的,而不是把用户密码用来加密数据。这样用户每次修改密码,只需要把存储秘钥进行解密后重加密就行了。

  • 資深大佬 : zy445566

    我不建议你这样搞,如果希望用户能自己修改密码其实很简单,给密码字段加版本,比如$01$这表示第一个版本,每个版本对应加密和解密方式,如果原来没版本就用原来的方式登录,再提示他修改密码就好了

  • 資深大佬 : cigarzh

    什么奇葩需求……

  • 資深大佬 : gDD

    #3 正解,很普遍的需求。

  • 資深大佬 : loser7758

    我在做个人云笔记的时候有过和主一致的需求
    这里提出一个假设方案
    数据库可以存储 aes 加密映射关系 比如加密后的文章 id
    当然 文章用加密后的密钥
    这个加密密文类似于 jwt 客户存储 jwt 密钥 服务端验证密钥可以 sha256
    所以 这个 jwt 应该存储 加密文章 id 加密随机生成的密钥 创建时间 修改时间等属性
    在修改密码的时候 也只是更新全部的 jwt 而不是全部文章 除非是更新文章加密密钥
    文章分享的时候可以复制一份文章内容出来 加个类似于百度盘分享码的机制

    说句题外话
    前端 aes 加密会保护后端数据 数据传输都不可信
    但是如何防止后台被 gank 后向前端注入
    一方面可以类似钉钉的某盾 出 api 走一遍第三方服务器 或者去某网加密一遍数据出来

    还有吐槽一下
    主提问问题为什么大家都是说不这么这么做
    有些时候我们不就是要解决千奇百怪的需求而工作的么

  • 資深大佬 : Rheinmetal

    通过操作密文的方式操作原文?

  • 資深大佬 : Stain5

    这样如何 用新密码把旧密码加密了,用的时候在用旧密码去解密数据。
    只要不被同时脱裤+ 泄漏旧密码 就不会有什么安全问题吧?

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具