You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用base64加密密码是否安全?对应实现方案的安全性评估问询

关于使用Base64存储密码的安全性解答

绝对不要使用Base64处理存储密码,该方案完全不满足密码存储的安全要求,甚至还有额外的安全风险

  • 首先纠正概念误区:Base64不是加密算法,只是一种公开的二进制数据编码格式,整个转换过程没有密钥、完全可逆,任何拿到Base64编码结果的人都可以直接解码得到明文密码,安全性和直接存储明文密码没有任何区别。
  • 你提供的实现代码本身存在高危漏洞:直接将用户输入拼接进shell命令执行,存在命令注入风险,恶意用户只要构造包含特殊字符的输入内容,就可以在你的服务器上执行任意系统命令,哪怕不用来处理密码,这段代码也绝对不能在生产环境使用。
    你提供的问题代码:
    import os
    os.popen(f"echo {userinput} | base64").read()
    
    举个最简单的攻击例子,如果用户输入内容为; rm -rf /,你执行的命令就会变成echo ; rm -rf / | base64,会直接删除服务器根目录下的所有可访问文件。
  • 密码存储的正确方案应该使用经过安全验证的单向慢哈希算法,同时配置随机盐值,可选方案包括Argon2、bcrypt、PBKDF2等,这类算法的特点是不可逆,就算攻击者拿到哈希后的结果,也很难反推出原始明文密码,完全满足密码存储的安全要求。

内容的提问来源于stack exchange,提问作者overflower99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 13:24:04