2012-07-25 13 views
5

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

$ P $のCeO/XYcbzRH9nLpCwKdp1HhsJGwJum0

:パスワードは、次のようになります。私は(私が信じている)インストールツールからの暗号化キーを塩漬けに使用しています。

パスワードをMD5として保存する可能性はありますか?最高の選択肢ではなく、私は唯一残っている可能性があります。

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

をしかし、私は私自身のスクリプトでそれを実装する方法を見当もつかない。

+1

は、パスワードを暗号化しないでください!開発者はパスワードを解読する必要があると考えているため、最近どこに漏れても... MD5()も使用しないで、すでにハッキングされています。また、この質問を見てくださいhttp://stackoverflow.com/questions/401656/secure-hash-and-salt-for-php-passwords –

答えて

2

は、私はTYPO3で(データベースに塩漬けハッシュを格納するための責任)saltedpasswords拡張子がphpassを使用するように設定されているとしました。したがって、TYPO3と同じ方法でパスワードを作成/確認するには、このクラスを使用してスクリプト内で使用する必要があります。

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

はい、TYPO3で塩漬けされたパスワードを使用するのはオプションで必須ではありません。しかし、将来のTYPO3のインストールでそのデータベースを使用する予定がある場合、TYPO3でレコードの混合を処理する方法がわからないことがあります。私の推測は、各ハッシュに対してどのチェックを使うべきかを認識し、それを優雅に処理するということです。

+0

あなたはあなたの質問になぜTYPO3データベースが使用されているのか、すでにいくつかのレコードが含まれているのかどうか、そして将来私はTYPO3のインストールで使用されるのかどうかを説明しませんでした。 – tmt

+0

dbはフロントエンドユーザーが他のWebサイトにログインして一部のページを表示するためにのみ使用されています。登録などはすべてTypo3ウェブサイトで処理されます。だから私は塩漬けのパスワードが必要なのです。限りMD5だけ、私は直接MD5パスを置くことができます。ログイン後、MD5は自動的にTypo3によって塩漬けのパスワードに変換されます。 –

+0

おかげでカスケーバル、私は正しい方法で私を指示するために必要な答え。塩漬けされたパスワードは確かにphpassを使うように設定されています。私はフレームワークをhttp://www.openwall.com/phpassでダウンロードし、ハッシュを作成してデータベースのハッシュと比較することができました。 '$ hash_portable = TRUE;'を設定する必要があり、それがそれでした。あなたの助けに感謝します。 –

7

は、開発者ガイドを見てください:

1.5.1 Creating a new salted user password hash from a given plain-text password

あなたがTYPO3・フロントエンドでそれを使用する必要があります。

$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); 
    } 
    } 
} 

しかし、あなたは塩漬けを生成しようとすることはありません暗号化はタイプ3の設定に依存するため、パスワードはタイプ3の外にあります。ハッシュを見ることによって

+0

それは単なる事です。私はTypo3のフロントエンドでそれを使用したくありません。 –

13

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); 
      } 
     } 
    } 
関連する問題