逆天!干了 3 年的同事用 base64 编码做 token 并且把密码也放了进去

166 天前
 xhatt510

最近做项目,他搞了用户登陆和状态保持。

当时存的时候他跑过来问我密码要不要用 base64 加密存。
我说这和明文没啥区别把,区别就是比明文多浪费1/3空间。不如直接加盐然后存 md5 。

当我看到 token 的时候,我人直接傻了。

这就是 token YWRtaW58cGFzczEyMzQ1NnwxNzEzNzcxNzg4

我相信只要干过开发的人一眼就能认出来这是什么东西。 我本来以为这已经够逆天了。解码出来的内容才真的让人窒息。

admin|pass123456|1713771788

数据库的 user 表里面的用户名和密码也都是base64 编码存储的。

我本以为这种最基本的常识问题,只可能在一个实习生身上发生,但是这个同事至少在这里干了 3 年了

在他的知识库里 base64 编码=加密

然后只有这种格式的才叫json。(用一对花括号包裹{}

{
    "test": 1
}

这种不叫json,更别说其他的值类型的被叫json

[
    "abc",
    "def"
]
24655 次点击
所在节点    程序员
205 条回复
winterbells
166 天前
我们公司也是明文,还因为用户记不住密码忽略大小写了…我一度以为是 bug
chuck1in
166 天前
@xhatt510 还招人吗 op ,是否支持远程
ISOtropy
166 天前
@oott123 jwt 吗 但是不能把密码放进去吧 这样别人可以解密 一般是把不敏感信息放进去 编码 base64 例如用户名 时间等吧?
Ashe007
166 天前
这个帖子不就诈出了很多一模一样的菜鸡吗?菜就算了,不以为耻,反而各种借口嘲讽指出问题的人,这种人就两个字——恶心🤢
snowyy
166 天前
@coffeygao 手机号降位了吗
ShinichiYao
166 天前
我也是这么做的,只不过不放密码,base64 之前会先用自定义方法加密一次字符串,只用来验证用户和时效
lyxeno
166 天前
我领导也用 Base64 存密码(应该快十年了)。我反馈不能这么存,他照样存。
yKXSkKoR8I1RcxaS
166 天前
@Jasckcc #67 那推荐用什么?
dj721xHiAvbL11n0
166 天前
@gesse #17 你可能对 jwt 有误解,按照那个人的逻辑,用 jwt 就是密码加秘钥生成 token ,通过这个 token 是能直接知道密码是啥的,jwt 是对内容进行签名,内容还是明文的
dj721xHiAvbL11n0
166 天前
@ljyst #120 token 是非对称加密?你做 token 签名和认证的时候,用的是俩把钥匙吗?
NoobNoob030
166 天前
? 挂我是吧,下班别走
dj721xHiAvbL11n0
166 天前
@qbqbqbqb token 的本质是对你给的内容用你的秘钥就行签名,他根本不会加密你的内容,只是做了 Base64 编码
drymonfidelia
166 天前
这算什么,我还接触过后台纯前端鉴权的商城项目,被黑了好几次,最后加了个 basicauth 解决
killerv
166 天前
我见过一个系统,有个记住密码功能,密码保存在 cookie……
wangtian2020
166 天前
静态类型 boy 必须要把同属 json 的 jsonObject 和 jsonArray 分开解析是这样的
Ashore
166 天前
@q727729853 #97 我猜可能是用的多了也就记住了
wizardyhnr
166 天前
其实真正楼主真正论证的是个人用户一定要用密码管理器+随机密码。
dengji85
166 天前
类似事情多了去了,我还见过自动登录把另外一个系统账号全部设置成 123456 ,然后前台自动去登录的。。。然后 2 个数据源之间需要用分布式事务也搞不清楚,我说要即便不用分布式事务,日志记录详细点好人为处理异常也说不用,说这个系统有事物,加 @Transaction 就行了
LieEar
166 天前
他肯定是直接 split("|"),然后[0]是 id ,[1]是密码。那我用户名或者密码包含|,那不就直接报错了
moluyouwo
166 天前
tls 时代了,黑客想解密先破了 tls

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1034660

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX