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

67 天前
 xhatt510

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

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

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

这就是 token YWRtaW58cGFzczEyMzQ1NnwxNzEzNzcxNzg4

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

admin|pass123456|1713771788

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

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

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

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

{
    "test": 1
}

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

[
    "abc",
    "def"
]
21910 次点击
所在节点    程序员
205 条回复
duan602728596
67 天前
我这以前还有接口直接返回明文密码的时候,还得我这个前端反馈、写个 node server 临时解决这个问题。最后也是好几个月才解决掉。
abcde123456789
67 天前
面向领导/用户编程

用户要加密某个东西,base64 糊弄一下就过去了
yeyang5211
67 天前
其实有时候只是为了偷懒😆 ,也不排除菜 .
ShundL
67 天前
小项目 能用就行,管它三七二十一
mohuani
67 天前
@soundlife 每个人菜的方向都不一样 有意思
xhatt510
67 天前
@duan602728596
@abcde123456789
太逆天了。和他又是平级关系,我也没能力去命令他怎么怎么样。每次沟通有一种无力感,只能发帖吐槽一下了。
xhatt510
67 天前
@yeyang5211 经过这么久打交道,我发现这个人不仅喜欢偷懒而且还菜。口头禅就是:Java 和 python 不一样,java 里面搞不了这、搞不了那。恰巧搞这项目的就他一个 java ,没人能反驳他。我也不会 java 。但是我可以知道,java 这么大体量的东西,不可能这搞不了那搞不了
body007
67 天前
@xhatt510 #3 curl -v -u "username:password" http://xxx ,就这个,直接在 http header 里面把用户名密码用 base64 编码传给服务器,webdav 就这样干的,不过用 https 的话还是有点安全性吧。
lambdaq
67 天前
然后只有这种格式的才叫 json 。(用一对花括号包裹{})


我觉得 LZ 你可能也没了解全貌。。。纸面上的 json 格式,只要能被 js eval(),都算合法的。

看官网吧 https://www.json.org/ ,你说的是第一种情况,object ,第二种情况就是 An array is an ordered collection of values 。。。

当然把密码搞进去比较离谱,但是 json 格式其实非常宽松。。。。
e3c78a97e0f8
67 天前
HTTPS 传输的 token 可以真么干
存数据库的密码不能这么干
而且楼主,密码不能只做一次 md5 就存储,md5 不安全而且没有盐会有彩虹表攻击,正确的做法是用 argon2 或者 scrypt 加盐哈希再存储
supuwoerc
67 天前
别尬黑实习生啊,我带的实习生开周会都分享了 Bcrypt 和常见的几种加密实现的异同和优缺点了...
yhxx
67 天前
跑个题,时间戳都 171 了啊
果然岁月如梭
lsk569937453
67 天前
不好意思把标题读成了:

逆天!干! 3 年的同事用 XXXX
ck65
67 天前
领导嫩了点只能说
MossFox
67 天前
试一下下回在用户名或者密码里面包含一个 "|" 会发生上面
MossFox
67 天前
*什么
gamexg
67 天前
我好奇如果用户密码带 | 会出现什么效果
JoeDH
67 天前
这种就是连最基本的八股文都不背的那种人
cndenis
67 天前
@xhatt510 数据库存明文密码这么劲爆的事, 如果他不改你可以报告领导, 如果领导认为不用改你就可以走人了, 早晚得爆雷.
FengMubai
67 天前
我司也差不多,会话密钥从服务端获取的。密钥得加密啊,密钥的密钥和密钥一起传了(尽管还做了一些变换

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

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

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

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

© 2021 V2EX