V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xhatt510
V2EX  ›  程序员

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

  •  1
     
  •   xhatt510 · 225 天前 · 26152 次点击
    这是一个创建于 225 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    这就是 token YWRtaW58cGFzczEyMzQ1NnwxNzEzNzcxNzg4

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

    admin|pass123456|1713771788

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

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

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

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

    {
        "test": 1
    }
    

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

    [
        "abc",
        "def"
    ]
    
    第 1 条附言  ·  225 天前
    可能我描述有问题,我的意思是,这个同事只认为花括号的才是 json ,其他的所有都不是。
    第 2 条附言  ·  223 天前
    看了大家这么多回复,我再来说个重磅的。
    很难相信把?我在的公司居然是一家专做安全的公司。
    205 条回复    2024-04-25 14:43:32 +08:00
    1  2  3  
    syyyyy
        201
    syyyyy  
       223 天前
    想想有人把数据库的账号密码 ip 写在博客里直接发出来
    hesetiema
        202
    hesetiema  
       223 天前
    1.前端通过后端返回的 RSA 公钥对前端生成的随机密钥进行 RSA 非对称加密,接着将要传递的数据 data 转换为字符串,接着将该字符串通过 SHA256 散列算法生成数据 data 的签名,然后通过随机密钥对要传递的数据(带有签名)进行 AES 对称加密,最后再将加密后的随机密钥、数据返回给后端。
    2.后端通过后端保留的 RSA 私钥解密,拿到随机密钥。再通过随机密钥进行 AES 解密,拿到前端实际传递的数据(带有签名),接着后端通过对带签名的数据再次进行 SHA256 验签,验签成功证明数据未被修改,拿到真正数据 data
    devwolf
        203
    devwolf  
       222 天前
    。。。我这边现在呆在给政府做房地产项目的公司,复用的很多老项目一堆上古开发造就的安全问题,压根没时间处理,都在上面打补丁累加迭代
    Jack927
        204
    Jack927  
       222 天前
    你要相信,世界之大,无奇不有。
    https://imgur.com/YPWrd5o
    Navee
        205
    Navee  
       222 天前
    ![]( "又不是不能用")
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1151 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 18:44 · PVG 02:44 · LAX 10:44 · JFK 13:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.