一个密码存储格式的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
litchinn
V2EX    Java

一个密码存储格式的问题

  •  
  •   litchinn 2023-08-28 17:22:16 +08:00 2302 次点击
    这是一个创建于 826 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 spring security 中密码存储格式为{id}xxxxxxxxx ,想问下这是哪个规范里规定的呢,还是说是 spring 自己规定的,我记得我之前好像在哪见过,现在想不起来了,最近写一个文档需要参考下这个

    7 条回复    2023-08-29 09:00:17 +08:00
    munan56
        1
    munan56  
       2023-08-28 17:35:03 +08:00
    同样加密方式生成的密文格式是差不多的。
    anonydmer
        2
    anonydmer  
       2023-08-28 18:10:01 +08:00
    听起来像 BCrypt ,楼主可以去搜索一下,现在流行的密码加密方案
    Jirajine
        3
    Jirajine  
       2023-08-28 19:03:49 +08:00 via Android
    密码不需要存储,无论明文密文。
    密码只需要 hash ,楼上提到的 Bcrypt 也不是加密方案,而是一种 hash 算法。
    thunderw
        4
    thunderw  
       2023-08-28 19:58:48 +08:00
    似乎并不是一个确定的规范,$参数$盐$hash 值
    参阅: https://zhuanlan.zhihu.com/p/612120129
    Tiller
        6
    Tiller  
       2023-08-28 21:03:23 +08:00   1
    https://springdoc.cn/spring-security/features/authentication/password-storage.html#authentication-password-storage-bcrypt

    密码存储格式
    密码的一般格式是:

    DelegatingPasswordEncoder Storage Format
    {id}encodedPassword

    id 是一个标识符,用于查询应该使用哪个 PasswordEncoder ,encodedPassword 是所选 PasswordEncoder 的原始编码密码。id 必须在密码的开头,以 { 开始,以 } 结束。如果找不到 id ,id 将被设置为 null 。例如,下面可能是一个使用不同 id 值编码的密码列表。所有的原始密码都是 password 。
    litchinn
        7
    litchinn  
    OP
       2023-08-29 09:00:17 +08:00
    可能我的问题描述哪里出了问题,导致前几楼没有理解我的意图。

    目前看来这个{算法 id}部分应该是 spring 定义的,而后面的值则由 5 楼 @alvinbone88 链接中的 Modular Crypt Format (简称 MCF )定义
    例如:
    {bcrypt}$2a$10$t6Ywtsp2zdNZ64M1P5P.seOmLwFl6TYzR3o0MnUJ9VxOxM1NKeI3S
    {bcrypt}如 6 楼所示,spring 据此找到对应算法的 PasswordEncoder
    $2a: 指代 bcrypt
    $10 轮次,迭代 2^10 次

    顺便说一下我的需求吧,现在系统需要接收其他系统传过来的用户信息包括密码,因此在写文档时想要表述清楚这个密码字段要怎么传递,为什么要是这么个格式
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5486 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 03:15 PVG 11:15 LAX 19:15 JFK 22:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86