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

73 天前
 xhatt510

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

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

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

这就是 token YWRtaW58cGFzczEyMzQ1NnwxNzEzNzcxNzg4

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

admin|pass123456|1713771788

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

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

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

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

{
    "test": 1
}

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

[
    "abc",
    "def"
]
22092 次点击
所在节点    程序员
205 条回复
xhatt510
73 天前
@jqtmviyu 单个值也是合法的 json 串。只要符合 json 的规范就可以了。是用的少,常用的是键值对里面嵌套 list
xhatt510
73 天前
@lstz 确实和一个朋友讨论过有可能是这个原因。也就是上面有老哥说的,八股文都不愿意背的那种。经验太少且不愿意思考
qeqv
73 天前
"foobar"
123
null
{}
[]
以上都是合法 JSON
@jqtmviyu
qeqv
73 天前
之前在站内碰见一个 md5 加密联系方式的,我指出错误他还给我发白眼表情。
碰到这样的你还能咋办,凉拌咯
JohnChang
73 天前
话说 Base64 是用来干嘛的?这玩意除了装逼好像没看到啥实际的用途。
retanoj
73 天前
@JohnChang
让不能使用特殊字符传输的场景变得可能
比如 json 里传 bin
renyi1986
73 天前
我给你讲过笑话当年 csdn 也是明文存储,还被脱了裤
jqtmviyu
73 天前
@qeqv #83 我收过的大部分是这种类型. 还有我最讨厌有的返回空, 有的返回 null, 两种混合的.
{
"data": {},
"status": 0,
"statusInfo": {
"message": "给用户的提示信息",
"detail": "用于排查错误的详细错误信息"
}
}
azhangbing
73 天前
牛逼,我是客户端,别说 token 我们重要接口是 AES 加密内容 RSA 加密 AES 的秘钥 + HTTPS 双向证书验证 证书秘钥采用自定义偏移位的算法 到 SO 中 采用 LLVM 混淆
lqw3030
73 天前
告诉同事 base64 算编码不算加密,他的操作存在风险。工作嘛,向下兼容,高效沟通。
ChainLock
73 天前
用 jwt 可以吗
superedlimited
73 天前
@way2create 哼😾讨厌了啦😠
zpxshl
73 天前
@JohnChang
1. 有些地方只能传输字符串,因此需要用 base64 编码。 例子:JSB 传文件
2. 避免自己的信息被明文索引到,论坛里面经常用来编码自己的微信号。
Ackvincent
73 天前
他的能力和工资相匹配吗?匹配的话没什么问题
exploreexe
73 天前
让我想起了 CSDN 明文存密码。
businessch
73 天前
其实吧,可能他的上一个领导就是明文,他改进了下,这样可以逆向修改。
q727729853
73 天前
YWRtaW58cGFzczEyMzQ1NnwxNzEzNzcxNzg4
为啥一看这个就知道是 base64 加密的?
qingyingwan
73 天前
@JohnChang base64 就是一个编码二进制数据的方法,比如图片,文件,游戏存档之类的
adian
73 天前
太不专业了
wuzzispacelake
73 天前
在什么场景下用户密码都不应该明文存放,这种人就是技术素养极低,技术素养低的人一般逻辑思维也很差(原因),直接开除就可以了

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

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

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

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

© 2021 V2EX