![](/img/trans.png)
[英]Change user's salted password from external PHP application in TYPO3 7.6
[英]Using PHP to create TYPO3 salted password?
我正在嘗試在未安裝TYPO3的外部網站上為TYPO3創建自定義注冊組件(我只使用其數據庫)。 問題是我沒有使用TYPO3的經驗。 我想知道是否有人知道如何為TYPO3創建正確的密碼加密? 密碼如下所示:
$ P $ CEO / XYcbzRH9nLpCwKdp1HhsJGwJum0
我正在尋找一個PHP代碼來創建相同的加密並檢查密碼。 我有安裝工具的加密密鑰(我相信)用於鹽析。
或者是否有可能只將密碼保存為MD5? 不是最好的選擇,但我可能是唯一剩下的選擇。
我找到了這個網址: http : //srv123.typo3.org/TYPO3/Extensions/saltedpasswords/4.6/#compatibility-of-other-extensions-with-salted-user-password-hashes
但我不知道如何在我自己的腳本中實現它。
適用於typo3 6.X:
$password = 'XXX'; // plain-text password
$saltedPassword = '';
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('saltedpasswords')) {
if (\TYPO3\CMS\Saltedpasswords\Utility\SaltedPasswordsUtility::isUsageEnabled('FE')) {
$objSalt = \TYPO3\CMS\Saltedpasswords\Salt\SaltFactory::getSaltingInstance(NULL);
if (is_object($objSalt)) {
$saltedPassword = $objSalt->getHashedPassword($password);
}
}
}
看一下開發者指南:
1.5.1從給定的純文本密碼創建新的salted用戶密碼哈希
你必須在typo3-Frontend中使用它:
$password = 'XXX'; // plain-text password
$saltedPassword = '';
if (t3lib_extMgm::isLoaded('saltedpasswords')) {
if (tx_saltedpasswords_div::isUsageEnabled('FE')) {
$objSalt = tx_saltedpasswords_salts_factory::getSaltingInstance(NULL);
if (is_object($objSalt)) {
$saltedPassword = $objSalt->getHashedPassword($password);
}
}
}
但是 ,你永遠不應該嘗試在typo3之外生成鹽漬密碼,因為加密取決於你的typo3設置。
通過查看提供的哈希,我認為TYPO3中的saltedpasswords擴展(負責在數據庫中存儲鹽漬哈希)設置為使用phpass 。 因此,您應該能夠使用此類並在腳本中使用它來創建/檢查密碼,方法與TYPO3相同。
或者是否有可能只將密碼保存為MD5?
是的,在TYPO3中使用鹽漬密碼是可選的,不是強制性的。 但是,如果將來任何TYPO3安裝應該使用該數據庫,我不確定TYPO3如何處理記錄的混合,當其中一些將密碼存儲為無鹽灰燼和一些鹽腌。 我的猜測是,它會優雅地處理它,識別每個哈希使用哪個檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.