把盐和加密方式放在一起 数据库泄露了不是密码也泄露了吗

把盐和加密方式放在一起 数据库泄露了不是密码也泄露了吗

把盐和加密方式放在一起 数据库泄露了不是密码也泄露了吗

如果要更换加密方式 这种方法不是也很麻烦吗

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
vastyang 2023-12-27 23:25:14

1. 我理解"pbkdf2-sha512" 是一种密码哈希算法,它的安全性主要来自以下几个方面:

  • 迭代次数:pbkdf2-sha512 对密码进行多次迭代哈希,这增加了破解密码的难度。迭代次数越多,攻击者需要花费更多的时间和计算资源来破解密码。

  • 盐值:pbkdf2-sha512 使用一个随机生成的盐值,将其与密码进行组合。盐值使得相同的密码在哈希后产生不同的结果,这增加了破解密码的难度。

  • SHA-512 哈希算法:SHA-512 是一种强大的哈希算法,它具有高度的抗碰撞性和不可逆性。这意味着即便这里的盐值泄漏也是无法从哈希值反推出原始密码。

password的构成长度为4的slice,分别为[]string len: 4, cap: 4, ["","pbkdf2-sha512","V444Sr7GQvUk4fu8","3c39b99db99e5d0d518d2282c2233f67ad9bb071246472f4b18e2057ba94bbe6"]

2. 更换加密方式只需要修改这行代码即可,更换"pbkdf2-sha512"这个值,对于新注册的用户加密方式则立即变更了,老用户需要强制修改密码:

password := fmt.Sprintf("$pbkdf2-sha512$%s$%s", salt, encodedPwd)

  • bobby #1

    是的,密码是不能反向解析的,拿到了加密的数据也没用

    2023-12-29 18:05:24
  • feigedon 回复 bobby #2
    new256 := .()
    new256.([](code))
    .(new256.())

    用这个sha3是不是更安全,不用加盐,如何?

    2024-03-08 10:05:52
  • new256 := sha3.New256()
    new256.Write([]byte(code))
    return hex.EncodeToString(new256.Sum(nil))

    用这个sha3是不是更安全,不用加盐,如何?

    2024-03-08 10:07:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Go开发工程师全新版
  • 参与学习       489    人
  • 解答问题       559    个

风口上的技术,薪资水平遥遥领先,现在学习正值红利期! 未来3-5年,Go语言势必成为企业高性能项目中不可替代的语言 从基础到项目实战再到重构,对转行人员友好,真正从入门到精通!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师