6

TYPO3がインストールされていない外部のウェブサイトでTYPO3のカスタム登録コンポーネントを作成しようとしています(私はそのデータベースを使用しています)。問題は私がTYPO3を使った経験がないことです。誰かがTYPO3のための正しいパスワード暗号化を作成する方法を知っているかどうか疑問に思いましたか?パスワードは次のようになります。

$ P $ CeO / XYcbzRH9nLpCwKdp1HhsJGwJum0

同じ暗号化を作成してパスワードを確認するためのPHPコードを探しています。私は(私が信じている)塩漬けに使用されるインストールツールからの暗号化キーを持っています。

または、パスワードをMD5のみとして保存する可能性はありますか?最善の選択肢ではありませんが、残っているのは私だけかもしれません。

私はこのURLを見つけました: http ://srv123.typo3.org/TYPO3/Extensions/saltedpasswords/4.6/#compatibility-of-other-extensions-with-salted-user-password-hashes

しかし、それを自分のスクリプトに実装する方法がわかりません。

4

3 に答える 3

15

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);
            }
        }
    }
于 2013-10-30T15:56:47.790 に答える
8

デベロッパー ガイドをご覧ください。

1.5.1 指定されたプレーンテキスト パスワードから新しいソルト ユーザー パスワード ハッシュを作成する

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 以外でソルト付きパスワードを生成しようとしないでください。

于 2012-07-25T09:26:00.397 に答える
2

提供されたハッシュを見ると、TYPO3のsaltedpasswords拡張機能(データベースにsaltedハッシュを保存する責任がある)がphpassを使用するように設定されていると思います。したがって、このクラスを取得してスクリプトで使用し、TYPO3と同じ方法でパスワードを作成/チェックできるはずです。

または、パスワードをMD5のみとして保存する可能性はありますか?

はい、TYPO3でソルトパスワードを使用することはオプションであり、必須ではありません。しかし、将来、TYPO3のインストールでそのデータベースを使用することになっている場合、パスワードが無塩のハッシュとして保存されているものと塩漬けとして保存されているものがある場合、TYPO3がレコードの混合をどのように処理するかはわかりません。私の推測では、各ハッシュにどのチェックを使用するかを認識して、それを適切に処理するでしょう。

于 2012-07-25T11:20:27.537 に答える