[size=78%]bcrypt 创建于 1999 年,以Blowfish 密ç 算法为基础。它使用å•å‘哈希函数将用户密ç 转æ¢ä¸ºå›ºå®šé•¿åº¦çš„å—符串,这æ„味ç€è¯¥å¯†ç æ— æ³•æ”¹å›žåŽŸå§‹å¯†ç 。æ¯å½“用户登录时,bcrypt éƒ½ä¼šé‡æ–°è®¡ç®—密ç 的哈希值,并将其与系统内å˜ä¸å˜å‚¨çš„值进行比较,以验è¯å¯†ç 是å¦åŒ¹é…。如果纯文本密ç 较çŸï¼Œåˆ™æ¤è¿‡ç¨‹å¯ä»¥å°†å…¶æ‰©å±•ä¸ºæ›´é•¿ã€æ›´å¤æ‚的密ç 。[/size]
为了æé«˜å®‰å…¨æ€§ï¼Œbcrypt 还会在æ¯ä¸ªå¯†ç å“ˆå¸Œå€¼ä¸æ·»åŠ ä¸€æ®µéšæœºæ•°æ®ï¼Œä»¥ç¡®ä¿å…¶å”¯ä¸€æ€§ï¼Œä½¿å…¶éš¾ä»¥é€šè¿‡å—å…¸æ”»å‡»æˆ–æš´åŠ›ç ´è§£è¿›è¡ŒçŒœæµ‹ã€‚è¿™è¢«ç§°ä¸ºåŠ ç›ï¼Œå…¶ç»“果是在密ç å“ˆå¸Œå€¼å‰æ·»åŠ ä¸€ä¸ª 22 个å—符的å—ç¬¦ä¸²ï¼Œä½¿å¯†ç æ›´éš¾é€šè¿‡æš´åŠ›ç ´è§£è¿›è¡ŒçŒœæµ‹ã€‚åŠ ç›å¯ä»¥æé«˜å®‰å…¨æ€§ï¼Œä½¿å¯†ç æ›´èƒ½æŠµå¾¡æš´åŠ›ç ´è§£å’Œå—典攻击。
bcrypt è¿˜ä½¿ç”¨äº†â€œæˆæœ¬å› åâ€ï¼Œè¿™ä½¿å¾—它与其他哈希算法ä¸åŒã€‚它显示在生æˆå“ˆå¸Œå€¼ä¹‹å‰è¿›è¡Œäº†å¤šå°‘次密ç è¿ä»£ï¼Œå¹¶æ·»åŠ åˆ°ç›å€¼ä¹‹å‰ã€‚有了它,您å¯ä»¥ç¡®å®šéœ€è¦æ‰§è¡Œçš„密ç è¿ä»£æ¬¡æ•°å’Œå“ˆå¸Œè®¡ç®—è½®æ¬¡ï¼Œä»Žè€Œå¢žåŠ è®¡ç®—æœ€ç»ˆå“ˆå¸Œå€¼æ‰€éœ€çš„æ—¶é—´ã€ç²¾åŠ›å’Œè®¡ç®—èµ„æºã€‚è¿™æžå¤§åœ°å‡æ…¢äº†ç ´è§£é€Ÿåº¦ã€‚
密ç å—符串ã€ç›å€¼å’Œæˆæœ¬å› å通过算法组åˆï¼Œä½¿ç”¨ Base 64 ç¼–ç 生æˆä¸€ä¸ª 24 å—èŠ‚çš„å“ˆå¸Œå€¼ã€‚è®©æˆ‘ä»¬çœ‹çœ‹å¦‚ä½•ç ´è§£å®ƒã€‚
ç ´è§£ bcrypt å“ˆå¸Œå¯†ç æ‰€éœ€çš„æ—¶é—´
ç”Ÿæˆ bcrypt å“ˆå¸Œå€¼éœ€è¦æ—¶é—´ï¼Œç ´è§£ä¹ŸåŒæ ·éœ€è¦æ—¶é—´ã€‚å¨èƒè¡Œä¸ºè€…å¯
阿尔巴尼亚电è¯å·ç 收集 [/size][size=78%]能会放弃,缺ä¹è®¡ç®—能力,或者这å¯èƒ½ä¼šç»™å®‰å…¨å›¢é˜Ÿå¸¦æ¥å‘现å¯ç–‘活动所需的时间。å³ä½¿è®¡ç®—机速度更快,由于 bcrypt 密ç è¿ä»£æ¬¡æ•°ä¸å®šï¼Œé€šè¿‡æš´åŠ›ç ´è§£ bcrypt 也éžå¸¸è€—时。[/size]
将其与æµè¡Œçš„哈希算法(例如 MD5 å’Œ SHA256)进行比较,这些算法旨在快速进行哈希è¿ç®—。它们更适åˆé¢‘ç¹ä½¿ç”¨ä¸”注é‡é€Ÿåº¦çš„应用程åºï¼Œè€Œ bcrypt 则是安全å˜å‚¨å¯†ç 的更好选择。如果è¿ä»£æ¬¡æ•°å¦‚æ¤ä¹‹é«˜ï¼Œä»¥è‡³äºŽä¸€æ¬¡ bcrypt è°ƒç”¨çš„æˆæœ¬ä¸Žæ•°ç™¾ä¸‡æ¬¡ MD5 è®¡ç®—çš„æˆæœ¬ç›¸å½“,那么使用 bcrypt æš´åŠ›ç ´è§£å¯†ç çš„æˆæœ¬å°†æ˜¯ MD5 的数百万å€ã€‚
如下表所示,bcrypt çš„æˆæœ¬å› ç´ ä½¿å…¶ç”±äºŽå…¶ç¼“æ…¢çš„å“ˆå¸Œç®—æ³•è€Œæžå…¶å®‰å…¨ï¼Œèƒ½å¤ŸæŠµå¾¡æš´åŠ›æ”»å‡»ã€‚ç®€çŸã€ä¸å¤æ‚的密ç ä»ç„¶å¯ä»¥ç›¸å¯¹è¾ƒå¿«åœ°è¢«ç ´è§£ï¼Œè¿™å‡¸æ˜¾äº†å…许用户创建弱密ç (但éžå¸¸å¸¸è§ï¼‰çš„巨大风险,例如“passwordâ€ã€â€œ123456â€å’Œâ€œadminâ€ã€‚但是,一旦密ç 长度超过八个å—ç¬¦ï¼Œç ´è§£é€Ÿåº¦å¯¹é»‘å®¢æ¥è¯´å‡ 乎是ä¸å¯èƒ½çš„。