V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xhatt510
V2EX  ›  程序员

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

  •  1
     
  •   xhatt510 · 2024-04-22 16:03:46 +08:00 · 29646 次点击
    这是一个创建于 434 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    这就是 token YWRtaW58cGFzczEyMzQ1NnwxNzEzNzcxNzg4

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

    admin|pass123456|1713771788

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

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

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

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

    {
        "test": 1
    }
    

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

    [
        "abc",
        "def"
    ]
    
    第 1 条附言  ·  2024-04-22 16:39:23 +08:00
    可能我描述有问题,我的意思是,这个同事只认为花括号的才是 json ,其他的所有都不是。
    第 2 条附言  ·  2024-04-24 14:42:40 +08:00
    看了大家这么多回复,我再来说个重磅的。
    很难相信把?我在的公司居然是一家专做安全的公司。
    205 条回复    2024-04-25 14:43:32 +08:00
    1  2  3  
    ljyst
        101
    ljyst  
       2024-04-22 19:40:12 +08:00
    token 不都是随机后端生成保存在 session 里然后发给用户 cookies 的么?难道是我 out 了?
    crc8
        102
    crc8  
       2024-04-22 19:50:34 +08:00
    3 年在人类的历史长河中微不足道~
    lasuar
        103
    lasuar  
       2024-04-22 20:20:16 +08:00
    它的无知并不能凸显你的才能,因为你俩是同事。所以,尽可能做好分内的事,这个可以提醒一下他。
    ebushicao
        104
    ebushicao  
       2024-04-22 20:35:40 +08:00
    从你的描述来讲这应该是他完全负责的,那按他的来就好,反正出了事你不用负责。为了这个和他发生不必要的冲突没意义,反而可能带来一些更麻烦的后果(同事之间因为一点小事下毒的也不是没有)。
    levelworm
        105
    levelworm  
       2024-04-22 20:53:18 +08:00 via Android
    这种事情楼主可以专门开个讲座,不然这种事情还会发生。
    DefoliationM
        106
    DefoliationM  
       2024-04-22 21:12:17 +08:00
    见过更逆天的,习惯就好,这种我一般也不会动,最后出问题了谁写的谁背锅就是了。
    xhatt510
        107
    xhatt510  
    OP
       2024-04-22 21:19:54 +08:00
    @q727729853 可能是看得多了。一看就觉得长得像
    xhatt510
        108
    xhatt510  
    OP
       2024-04-22 21:20:54 +08:00
    @lasuar 大哥说的对。并不能凸显我多会。提醒了的,别人一意孤行,特别犟。
    lidongyooo
        109
    lidongyooo  
       2024-04-22 21:51:40 +08:00
    根据以下规则可得楼主也是个菜鸡,肉眼能分辨上面的字符是 base64 ?除非你没见过其他编码或加密方式。

    要根据字符特征识别一个字符串是否为 Base64 编码,可以遵循以下步骤和规则:

    1 、字符集检查:Base64 编码只使用特定的字符集,包括大写字母( A-Z )、小写字母( a-z )、数字( 0-9 )和两个特殊符号(+、/)。在 URL 安全的 Base64 变种中,可能会用-和_分别替换+和/。首先确保输入字符串仅由这些字符组成,不包含其他任何非法字符。

    2 、长度检查:Base64 编码将每 3 个字节( 24 位)的数据转换为 4 个 Base64 字符(每个字符对应 6 位)。因此,一个有效的 Base64 字符串的长度应该是 4 的整数倍,除非它在末尾包含填充字符=。
    当原始数据长度不是 3 的整数倍时,在编码的末尾会添加 1 个或 2 个=作为填充。这意味着如果字符串长度不是 4 的倍数,但减去末尾的=后变为 4 的倍数,则可以认为该字符串可能是 Base64 编码的。如果字符串长度既不是 4 的倍数,也没有以合法数量的=结束,则几乎可以确定它不是 Base64 编码。

    3 、填充字符检查:填充字符=仅出现在 Base64 字符串的末尾,用来标识编码过程中因原始数据长度不足而补充的零位。最多可能出现 2 个连续的=。
    如果字符串末尾有=,检查其数量。如果数量为 1 或 2 ,并且去掉这些=后,剩余部分的长度是 4 的整数倍,那么这是 Base64 编码的一个特征。否则,如果出现非法数量的=或者=出现在非末尾位置,可以断定这不是 Base64 编码。

    4 、正则表达式匹配: 使用正则表达式来快速验证字符串是否符合 Base64 编码的字符集和结构要求。例如,一个基本的正则表达式可以是 ^[A-Za-z0-9+/]+={0,2}$ 或者针对 URL 安全 Base64 的 ^[A-Za-z0-9-_]+={0,2}$。如果字符串能被此正则表达式成功匹配,说明它具有 Base64 编码的字符特征。
    younggod
        110
    younggod  
       2024-04-22 21:51:52 +08:00
    不像人
    totoro52
        111
    totoro52  
       2024-04-22 22:25:07 +08:00
    @superedlimited #65 估计以前是搞 php 的 我见过太多 php 程序这么干的了,用|分割用户账号密码加一个时间戳当 token ,然后也用 base64 但是是自己变了一点算法的 base64
    oamu
        112
    oamu  
       2024-04-22 22:34:48 +08:00
    @xhatt510 #27 经典菜鸡言论:我不会 = 不支持/不行。
    oamu
        113
    oamu  
       2024-04-22 22:50:57 +08:00
    @lidongyooo #109 符合这些规则的就一定是 Base64 编码?并不一定,只能说它能通过 Base64 的解析方式解析。
    Citrus
        114
    Citrus  
       2024-04-22 23:33:25 +08:00 via iPhone   ❤️ 3
    叹为观止的是居然有很多人认为这样做是对的。真可怕。
    456vv
        115
    456vv  
       2024-04-22 23:38:26 +08:00
    @crab 能黑库的,就不是这个用户密码了。
    qbqbqbqb
        116
    qbqbqbqb  
       2024-04-23 01:23:16 +08:00
    @ljyst 你说的这种叫做 session id ,需要后端保存状态(也就是你说的“保存在 session 里”)。

    token 一般指的是支持无状态校验身份的,原理上是把用户身份和过期时间加密之后发给客户端,这样后端无需维持 session ,只要解密 token 就可以验证用户身份,在分布式的场景下很有用。可以了解一下 jwt 。
    GeruzoniAnsasu
        117
    GeruzoniAnsasu  
       2024-04-23 02:03:09 +08:00
    @lidongyooo 辛苦你复制 GPT ,但有种东西叫 cyberchef:

    - https://gchq.github.io/CyberChef/ 打开它
    - 复制任意 base-wtf-like 字符串
    - 点下面的魔棒

    > 4 、正则表达式匹配: 使用正则表达式来快速验证字符串是否符合 Base64 编码的字符集和结构要求。例如,一个基本的正

    起码比肉眼正则靠谱
    jinliming2
        118
    jinliming2  
       2024-04-23 02:41:06 +08:00 via iPhone   ❤️ 7
    @456vv #47 还真不一样。从攻击面的角度来说,密码在网上传输的次数越多,承担的风险越大。
    登录这个过程,用户名和密码必须要通过网络传输,这没办法。但登录后获取 token 的意义就在于,避免后续再传密码了,用 token 来充当用户名+密码。
    但如果 token 是固定不变的,那也没意义了,和 basic auth 一样,并不安全,所以 token 必须要经常变。
    token 当然不用是一次性的,但是必须要有时效性,定期续期,并且时效性越短越安全。比如银行网站就可能会要求 5 分钟不操作自动退出。
    用 token 来代替密码就是为了频繁更新,避免同一套字符串一直在网上传。

    所以,比较推荐的做法是,密码登录,换取两个 token ,一个是有较短时效的 session token ,一个是有较长时效但是一次性的 refresh token ,然后用 session token 通信,session token 过期后,再用 refresh token 获取两个新的 token 。
    这样,密码因为更新频率很低,并且长度通常相对较短,所以只在网上传输一次。refresh token 因为可以充当密码来获取新的 token ,所以只在网上传输两次(往返各一次)。session token 权限最低,只能在有限时间内使用,且不能充当密码来获取新 token ,泄漏后的影响也是有时效性的,用来进行低频敏感操作可能还会要求用密码来做二次认证。
    如果存在攻击者,那么他必须精准地获取登录包或者是 refresh token 的数据包,才可以拥有较高的权限,但这样的数据在网上传输的频率非常低。那么这个攻击者就必须长期攻击监控这个用户,那被用户发现的概率就提高了,而且大概率还只能拿到 refresh token 跟用户抢续期权,用户更容易发现账号被盗。
    way2explore2
        119
    way2explore2  
       2024-04-23 03:03:52 +08:00 via Android
    是,技术不合格。

    其实也不奇怪,林子大了
    ljyst
        120
    ljyst  
       2024-04-23 03:20:20 +08:00
    @qbqbqbqb 我好歹也有 7 。8 年后端功底你说的这些谁不懂。你意思是每次发送请求加个非对称加密 token 进去就不用 cookie 了是吗。另外还有一种就是每次变 token 防止模拟 http 请求。就算没有 cookie 在 header 里发送 token 后端也要验证请求信息啊!楼主的意思是他同事留后门。懂?
    winterbells
        121
    winterbells  
       2024-04-23 06:23:01 +08:00 via Android
    我们公司也是明文,还因为用户记不住密码忽略大小写了…我一度以为是 bug
    chuck1in
        122
    chuck1in  
       2024-04-23 07:42:21 +08:00 via iPhone
    @xhatt510 还招人吗 op ,是否支持远程
    ISOtropy
        123
    ISOtropy  
       2024-04-23 07:42:31 +08:00 via Android
    @oott123 jwt 吗 但是不能把密码放进去吧 这样别人可以解密 一般是把不敏感信息放进去 编码 base64 例如用户名 时间等吧?
    Ashe007
        124
    Ashe007  
       2024-04-23 08:05:40 +08:00 via iPhone   ❤️ 10
    这个帖子不就诈出了很多一模一样的菜鸡吗?菜就算了,不以为耻,反而各种借口嘲讽指出问题的人,这种人就两个字——恶心🤢
    6bZooCdy9YC5QP8T
        125
    6bZooCdy9YC5QP8T  
       2024-04-23 08:09:35 +08:00
    @coffeygao 手机号降位了吗
    ShinichiYao
        126
    ShinichiYao  
       2024-04-23 08:38:19 +08:00
    我也是这么做的,只不过不放密码,base64 之前会先用自定义方法加密一次字符串,只用来验证用户和时效
    lyxeno
        127
    lyxeno  
       2024-04-23 08:48:27 +08:00
    我领导也用 Base64 存密码(应该快十年了)。我反馈不能这么存,他照样存。
    yKXSkKoR8I1RcxaS
        128
    yKXSkKoR8I1RcxaS  
       2024-04-23 08:49:51 +08:00
    @Jasckcc #67 那推荐用什么?
    dj721xHiAvbL11n0
        129
    dj721xHiAvbL11n0  
       2024-04-23 08:51:51 +08:00
    @gesse #17 你可能对 jwt 有误解,按照那个人的逻辑,用 jwt 就是密码加秘钥生成 token ,通过这个 token 是能直接知道密码是啥的,jwt 是对内容进行签名,内容还是明文的
    dj721xHiAvbL11n0
        130
    dj721xHiAvbL11n0  
       2024-04-23 08:57:59 +08:00
    @ljyst #120 token 是非对称加密?你做 token 签名和认证的时候,用的是俩把钥匙吗?
    NoobNoob030
        131
    NoobNoob030  
       2024-04-23 08:58:37 +08:00
    ? 挂我是吧,下班别走
    dj721xHiAvbL11n0
        132
    dj721xHiAvbL11n0  
       2024-04-23 09:01:59 +08:00
    @qbqbqbqb token 的本质是对你给的内容用你的秘钥就行签名,他根本不会加密你的内容,只是做了 Base64 编码
    drymonfidelia
        133
    drymonfidelia  
       2024-04-23 09:04:44 +08:00 via iPhone
    这算什么,我还接触过后台纯前端鉴权的商城项目,被黑了好几次,最后加了个 basicauth 解决
    killerv
        134
    killerv  
       2024-04-23 09:04:55 +08:00
    我见过一个系统,有个记住密码功能,密码保存在 cookie……
    wangtian2020
        135
    wangtian2020  
       2024-04-23 09:05:52 +08:00
    静态类型 boy 必须要把同属 json 的 jsonObject 和 jsonArray 分开解析是这样的
    Ashore
        136
    Ashore  
       2024-04-23 09:07:29 +08:00
    @q727729853 #97 我猜可能是用的多了也就记住了
    wizardyhnr
        137
    wizardyhnr  
       2024-04-23 09:07:44 +08:00
    其实真正楼主真正论证的是个人用户一定要用密码管理器+随机密码。
    dengji85
        138
    dengji85  
       2024-04-23 09:09:34 +08:00
    类似事情多了去了,我还见过自动登录把另外一个系统账号全部设置成 123456 ,然后前台自动去登录的。。。然后 2 个数据源之间需要用分布式事务也搞不清楚,我说要即便不用分布式事务,日志记录详细点好人为处理异常也说不用,说这个系统有事物,加 @Transaction 就行了
    LieEar
        139
    LieEar  
       2024-04-23 09:23:59 +08:00
    他肯定是直接 split("|"),然后[0]是 id ,[1]是密码。那我用户名或者密码包含|,那不就直接报错了
    moluyouwo
        140
    moluyouwo  
       2024-04-23 09:25:01 +08:00
    tls 时代了,黑客想解密先破了 tls
    xhatt510
        141
    xhatt510  
    OP
       2024-04-23 09:34:20 +08:00
    @lidongyooo 我只是举列子,数据库一堆==结尾的。我不可能把真的密码用户名复制出来把。。。
    lstz
        142
    lstz  
       2024-04-23 09:38:34 +08:00 via Android
    @xhatt510 #81 看了一下我的工具箱,很惭愧我也把 Base64 放进加密解密那一处,不过我加了 FAQ 做备注 https://laftools.cn/cn/tools/go/codecs

    关于安全方面,你们公司应该会有定期培训的吧。。。很好奇他当时怎么进去的
    monkeydream
        143
    monkeydream  
       2024-04-23 09:41:34 +08:00
    这种核心功能不应该是组长或者 leader 搞定吗?怎么还交给初级开发搞。
    huzhizhao
        144
    huzhizhao  
       2024-04-23 09:47:50 +08:00
    就问你能不能用吧(手动笑脸~
    hyseiya
        145
    hyseiya  
       2024-04-23 09:49:25 +08:00
    人和项目,有一个能跑就行。
    老哥,认真你就输了。
    Tink
        146
    Tink  
       2024-04-23 09:50:45 +08:00
    @coffeygao #5 那不是手机号吧。。。
    Tink
        147
    Tink  
       2024-04-23 09:51:06 +08:00
    其实还好,写多了就懂了
    DaneWalters
        148
    DaneWalters  
       2024-04-23 09:57:42 +08:00   ❤️ 1
    不好意思,看成了“干了三年同事”,果然我脑子全是黄色废料
    shuson
        149
    shuson  
       2024-04-23 10:02:08 +08:00
    看啥级别的系统,不能一概而论
    unco020511
        150
    unco020511  
       2024-04-23 10:05:28 +08:00
    @matepi #6 V 站还天天有人说「 MD5 加密」呢,这找谁说理去
    dreamage
        151
    dreamage  
       2024-04-23 10:06:27 +08:00
    草台班子:能用就行了
    qiyilai
        152
    qiyilai  
       2024-04-23 10:26:23 +08:00
    怎么招进来的
    daozun
        153
    daozun  
       2024-04-23 10:27:42 +08:00
    挂我是吧,晚上别睡太死-.-
    bk201
        154
    bk201  
       2024-04-23 10:31:35 +08:00
    3 年 java 和刚毕业也没啥区别。很多好几年都没入门。
    Mrzhs
        155
    Mrzhs  
       2024-04-23 10:33:09 +08:00
    推荐他去看看 JWT, 这样你就是大佬了~
    rahuahua
        156
    rahuahua  
       2024-04-23 10:36:50 +08:00
    提供一个思路,如果觉得同事水平特别菜,你要想想你是不是该挪窝了,如果挪不到更好的窝就忍着吧
    ljyst
        157
    ljyst  
       2024-04-23 10:37:54 +08:00
    @x2420390517 你对。我不懂!现在 cookie 验证都是存在数据库里的不然重启又得重新登录,不是刷新跳转。
    accelerator1
        158
    accelerator1  
       2024-04-23 10:37:58 +08:00   ❤️ 3
    @supuwoerc LZ 明明想说的是“这种事情只可能发生在一个实习生身上”,不是“所有实习生都会犯这个错”,强行给楼主戴帽子么。。。
    azev
        159
    azev  
       2024-04-23 10:44:43 +08:00
    @xhatt510 我以前有个同事,让我把移动端用户的访问 ip 传给他的服务端接口,当时我就懵了。
    ishalla
        160
    ishalla  
       2024-04-23 10:45:49 +08:00
    前几天项目准备上线,gate review 的时候发现 URL 里带 secret 呢。。
    就是链接直接就 https://xxxxxxxclientid=XXXXX&clientsecret=XXXXXXX
    这还是合作了 10+年的 vendor ,OP 有没有觉得安慰一点?
    本安全架构已经看得麻木了。。
    hjMK5OXQVSr8DflD
        161
    hjMK5OXQVSr8DflD  
       2024-04-23 10:48:39 +08:00
    加密,签名,证书,权限这些,不是真的做过强业务,很多人整不来
    xinshoushanglu
        162
    xinshoushanglu  
       2024-04-23 10:54:12 +08:00
    单纯的菜而已,没人教他,可能这人性格 也不太愿意学,整体基础就不行,这样的人很多。
    只是大多数项目 基本活不到有 多少量的用户的阶段,也就发现不了这些安全问题了,干多少年也就这么糊弄过去
    0xC000009F
        163
    0xC000009F  
       2024-04-23 11:03:27 +08:00
    虽然知道 base64 是编码,但平时沟通的时候经常习惯称 base64 加密。导致有次给国外同事发邮件,习惯性用了"encryption",他回邮件洋洋洒洒给我写了一堆"encryption"和"encoding"的区别。😂
    sampeng
        164
    sampeng  
       2024-04-23 11:17:45 +08:00
    非常同情 LZ 的心情。但是你不是她他领导。你要说了他肯定急
    xhatt510
        165
    xhatt510  
    OP
       2024-04-23 11:22:55 +08:00
    @ishalla 舒服多了。
    xhatt510
        166
    xhatt510  
    OP
       2024-04-23 11:23:32 +08:00
    @rahuahua 忍着
    xhatt510
        167
    xhatt510  
    OP
       2024-04-23 11:24:05 +08:00
    @DaneWalters 楼上有个和你一样的,满脑子 HS
    hnliuzesen
        168
    hnliuzesen  
       2024-04-23 11:24:09 +08:00
    @xhatt510 哈哈,深有同感
    chenstor
        169
    chenstor  
       2024-04-23 11:24:58 +08:00
    又不是不能用。。。。。。

    果然很优秀,刷新认知了
    listenEcho
        170
    listenEcho  
       2024-04-23 11:28:42 +08:00
    哈哈,我目前做的业务也是发现了这个问题,很敏感的数据在 URL 上传递,也是用的 base64
    c3de3f21
        171
    c3de3f21  
       2024-04-23 11:30:57 +08:00
    啊?我从来都是明文存 token 明文加到 header 里。。。。。。
    simo
        172
    simo  
       2024-04-23 11:42:21 +08:00
    惭愧,08 年左右刚开始接触后端开发,也在数据库存明文密码。当时刚学后端开发没多久,对安全方面确实完全不懂,看别人的源码后,才明白相关的一些知识。也怪当时没被脚本小子们搞过,不然也能提早接受教育。
    那会教程少,运气好的话,有人带带,不然只能论坛、搜索引擎、博客碎片化学习。我当时是没碰到过系统的教程,基本都是一个个知识点积累起来,然后看书串知识点。
    qGjL83Ro3i1gE1M3
        173
    qGjL83Ro3i1gE1M3  
       2024-04-23 11:44:43 +08:00
    @Tink 抱歉,我看错位数了,在前面已经澄清了。
    qGjL83Ro3i1gE1M3
        174
    qGjL83Ro3i1gE1M3  
       2024-04-23 11:45:20 +08:00
    @snowyy 抱歉,我看错位数了,在前面已经澄清了。
    hun2008hun
        175
    hun2008hun  
       2024-04-23 13:30:35 +08:00
    还行,上次听说公司有个人登陆用户是根据前端传的 uid=xxx 来获取
    EndlessMemory
        176
    EndlessMemory  
       2024-04-23 13:35:46 +08:00
    整笑了,这他妈太离谱了
    yosoroAida
        177
    yosoroAida  
       2024-04-23 13:49:42 +08:00
    @bk201
    别说 3 年了,我见过 6 年的,水平跟刚毕业的没啥区别
    Hudiebbk
        178
    Hudiebbk  
       2024-04-23 14:16:08 +08:00
    这个世界就是个草台班子
    Email
        179
    Email  
       2024-04-23 14:26:49 +08:00
    不以善小而不为 不以恶小而为之
    mark2025
        180
    mark2025  
       2024-04-23 15:10:35 +08:00
    如果口令里面有个|就好玩了,比如 admin|pass123|456|1713771788
    pwelyn
        181
    pwelyn  
       2024-04-23 15:58:32 +08:00
    把你 app 或网址 发来大家伙儿看看
    ZXiangQAQ
        182
    ZXiangQAQ  
       2024-04-23 18:14:23 +08:00
    羡慕啊,我也想这么写,我们这接口都走加密的,巨恶心,先生成 sm4 密钥,然后使用 sm2 加密,sm3 对加密的参数签名,调用服务端协商密钥,后续调用都得加密
    vsheyan
        183
    vsheyan  
       2024-04-23 19:48:33 +08:00
    引出一堆人 battle,小板凳观战 吃瓜👀
    cndns
        184
    cndns  
       2024-04-23 21:21:24 +08:00 via Android
    叫公司做个三级等保,就要整改。
    456vv
        185
    456vv  
       2024-04-23 21:40:46 +08:00
    @jinlliming2 登录后依然存留用户密码是不对的,后转为 token 没有时效也不对。要是 token 与明文密码无区别,惟一只是增加了技术门槛,对攻击者来说有什么区别! session_token 和 refresh_token 只用于不同渠道的权限上使用。在登录方面我只指望于 ssl ,防中间人就可以。在前端各总加密都没卵用,要是自身中毒了,反正你卡里余额也不多。哈哈。
    456vv
        186
    456vv  
       2024-04-23 21:48:44 +08:00
    @lidongyooo 讲个加密的 Base64 方法给他们学学
    wanguorui123
        187
    wanguorui123  
       2024-04-23 22:00:11 +08:00 via iPhone
    BasicAuth 而已
    asmoker
        188
    asmoker  
       2024-04-24 00:34:46 +08:00 via Android
    不合规 ༄༅
    moqsien
        189
    moqsien  
       2024-04-24 09:59:13 +08:00
    以前,看到写得烂的代码,尤其是 python 这种动态语言的代码,就特别鄙视。

    写 py 那会,遇到的好多人都是半路出家,程序能跑就行,什么规范啥的,别想了。后来,渐渐习惯,反正哪里不是一坨屎。很多人都是混口饭吃,哪有什么追求。甚至大部分人,能躺着绝不坐着,你还指望他能自觉学习,进步,改正?没有外部压力,人家是绝不会动的。所以,只要不是特别难受的,随它去了。很多事情,自己知道就好,有追求的,自己去追求,个人自扫门前雪,不管他人瓦上霜。

    拙见。

    顺便推广一下个人的 sdk 版本管理器 version-manager ( vmr )。

    vmr 目前支持 Java, Go, Node.js, Deno, Bun, .Net, Python, PhP, Rust, Kotlin, Scala, Flutter, Julia, Zig, V, Odin, Typst 等等 40 + 种语言和工具的一键安装、版本切换、环境变量管理等。

    支持全局模式、session 模式、project 模式(项目锁定 sdk 版本,使用 cdr 命令切换目录时,自动检测并切换版本,全局不受影响)。

    包含了 zig ,v ,typst 等语言的 lsp ,vscode 可以直接使用。

    如果您感兴趣,version-manager 项目期待您的加入。

    项目地址: https://github.com/gvcgo/version-manager
    项目文档: https://github.com/gvcgo/version-manager/blob/main/docs/readmeCN.md
    yao00jun
        190
    yao00jun  
       2024-04-24 12:43:52 +08:00
    学习了
    DesnLee
        191
    DesnLee  
       2024-04-24 14:03:36 +08:00
    基础不牢是这样的,
    dododada
        192
    dododada  
       2024-04-24 14:34:16 +08:00
    其实还是公司安全培训的问题,前司一次弱密码警告,二次弱密码罚款,三次就开了
    xhatt510
        193
    xhatt510  
    OP
       2024-04-24 14:43:08 +08:00
    @dododada 很难相信把?我在的公司居然是一家专做安全的公司
    dododada
        194
    dododada  
       2024-04-24 15:13:15 +08:00
    @xhatt510 开了吧,明文和弱密码是必须禁止的,无论内外什么环境,即使物理隔离,因为人是最大的安全隐患。以前有个同事的 mac 中了毒,他把公司的苹果账号存在本地了,然后我们就见识了一下供应链攻击,前后两分钟,公司账号下的 app 以及账号上的钱就被转到捷克去了,虽然没多少钱,但是真的不安全
    xhatt510
        195
    xhatt510  
    OP
       2024-04-24 15:16:03 +08:00
    @dododada #194 你猜我要是有本事开人,我的标题是不是应该叫:“逆天!干了 3 年的同事用 base64 编码做 token 并且把密码也放了进去。要不要开了?”
    lbunderway
        196
    lbunderway  
       2024-04-24 15:35:24 +08:00
    自己搞一套 base64 的字符集也不是不可以
    EJW
        197
    EJW  
       2024-04-24 15:38:11 +08:00
    这帖还挺刷新我认知的,这么多人觉得无所谓
    forty
        198
    forty  
       2024-04-24 16:32:04 +08:00
    很多半懂不懂的人在说“base64 加密”,编码就编码,非要说什么加密,仿佛一眼看不出来明文的就是加密,导致一些小白也被带偏了。哈希摘要也同理,有人就喜欢说“md5 加密”。
    igeeky
        199
    igeeky  
       2024-04-24 22:20:19 +08:00
    用户的密码存储密文是不符合国家信息安全相关的法律规定的. (什么法不记得了, 但是国家肯定有要求). 你们还是做信息安全的, 支持开除.
    leaves615
        200
    leaves615  
       2024-04-24 22:44:57 +08:00
    这系统有攻击价值吗?
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 21:35 · PVG 05:35 · LAX 14:35 · JFK 17:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.