第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

升級(jí)使用無效 CRYPT_STD_DES 鹽生成的 PHP (<5.3.2) 密碼

升級(jí)使用無效 CRYPT_STD_DES 鹽生成的 PHP (<5.3.2) 密碼

PHP
德瑪西亞99 2023-03-11 13:50:08
長(zhǎng)話短說,我有一些密碼在 PHP 版本中被不正確地加鹽和散列,如果加鹽無效,允許 crypt() 函數(shù)回退到 CRYPT_STD_DES 算法。然而在 PHP 5.3.2+ 中:5.3.2 修正了 Blowfish 在無效回合上返回“失敗”字符串(“*0”或“*1”)而不是回退到 DES 的行為。造成這個(gè)問題的原因是鹽中包含“$”字符,因?yàn)樗緛硎且环N河豚鹽(但在不知不覺中變形了)。因此,我無法手動(dòng)執(zhí)行以下操作: crypt($pass, "$a"); 因?yàn)槟乾F(xiàn)在也不是有效的 CRYPT_STD_DES 鹽。鹽必須在“./0-9A-Za-z”范圍內(nèi)。它只是按照 PHP 開發(fā)人員的預(yù)期返回“*0”。如何在較新版本的 PHP(理想情況下至少為 7.1)中驗(yàn)證這些格式錯(cuò)誤的密碼?
查看完整描述

3 回答

?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

你可能正在尋找

password_hash ( string $password , int $algo [, array $options ] ) : string

https://www.php.net/manual/en/function.password-hash.php


查看完整回答
反對(duì) 回復(fù) 2023-03-11
?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊

找到了一個(gè)實(shí)際的解決方案。通過強(qiáng)制加鹽,事實(shí)證明 PHP 將無效的“$2”STD_DES 加鹽解釋為“q2”。

因此,這個(gè)問題的答案是可以在較新版本的 PHP 中驗(yàn)證這些散列,方法是更改用于比較散列的鹽,使其以“q2”而不是“$2”開頭。從那里開始,可以substr_replace($str, '$', 0, 1);在執(zhí)行相等性檢查時(shí)調(diào)用將新添加的“q”字符替換回“$”字符。

作為一個(gè)軼事,顯然我得到的信息是不正確的,并且哈希值是在 PHP 5.3.29 中生成的,這與文檔所說的退回到在版本 5.3.2 中修補(bǔ)的 STD_DES 相矛盾。


查看完整回答
反對(duì) 回復(fù) 2023-03-11
?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

作為一種解決方法,我最終實(shí)際上將舊版本的 PHP 用于單個(gè)目錄,我可以在其中調(diào)用file_get_contents()并使用舊的(錯(cuò)誤的)算法檢索哈希,但在其他地方仍然使用更現(xiàn)代的 PHP 版本。

然而,這不是一個(gè)合適的解決方案,因?yàn)樗诩夹g(shù)上沒有回答這個(gè)問題: “我如何在更新版本的 PHP 中驗(yàn)證這些格式錯(cuò)誤的密碼?”

因此,除非似乎沒有其他可能的解決方案,否則我不會(huì)將此標(biāo)記為已接受的答案(但我認(rèn)為為了完整性起見應(yīng)該添加此答案)。


查看完整回答
反對(duì) 回復(fù) 2023-03-11
  • 3 回答
  • 0 關(guān)注
  • 128 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)