2017-08-10 15 views
0

私は新しいDjangoのものに置き換えたい、従来の2010 Pylonsアプリを持っています。Pylons/PyramidアプリのSaltキーはどこにありますか?

Djangoでは、パスワードをハッシュする際に使用される塩は、設定ファイルのSECRET_KEYです。私が間違っているなら、私を訂正してください。かなり簡単に見つけることができます。(私は間違っていて修正されました)。

とにかく、同社はDjangoで使用されているさまざまなハッシュアルゴリズムのため、誰のパスワードもリセットしたくはありません。だから、私はPylonsと一致するようにDjangoを変更するか、Pylonsのハッシュされたものを解読し、Djangoのもとで再暗号化する方法を見つけようとしていました。

問題どこの塩がPylonsアプリケーションのどこにあるのか分かりません。ドキュメンテーションを見て、グーグルで調べてみました。誰でもアイデアはありますか?

+1

"ハッシングパスワードに使用されている塩は、設定ファイルのSECRET_KEYです"ということは間違いです。各パスワードには異なる塩があり、アルゴリズム、繰り返し回数、およびハッシュとともにパスワードフィールドに格納されます。詳細については、[the docs](https://docs.djangoproject.com/en/1.11/topics/auth/passwords/#how-django-stores-passwords)を参照してください。 – Alasdair

+1

また、ハッシュを解読することもできません。元のパスワードを取得する唯一の方法は、それを強引にすることです(これは適切なハッシャーが使用されていればうまくいけません)。 – Alasdair

+0

ああ、基本的に、唯一の選択肢は、誰もが新しいハッシュアルゴリズムでパスワードをリセットすることだけです。 – sockpuppet

答えて

1

ピラミッド(またはパイロン)で塩を使用する単一の方法はありません。データストアへのパスワードハッシュの格納/取得の実装は、アプリケーションコードのために残されています。

それはあなたに多くの自由を与えます。

これを行う1つの方法は、Djangoでコードを再現し、おそらくセキュアなので、これをハッシュアルゴリズムとして使用することです。クイックフィックスやコンセプトの証明は、djangoをインストールして、そこからコードをインポートすることです(ライセンスで許可されている場合は、私は個人的にコードの小さな部分をコピーして貼り付けます)。あなたが必要とするハッシュ部分は、おそらく最低でも15行​​以下です。

また、あなたの質問のコメントに示唆されているようにすることをお勧めしません。ユーザーのログイン時にパスワードを移行する。古いパスワードが永遠に詰まっているため、さらに、新しいパスワードと移行コードを処理するための新しいコード。

+0

PylonsやPyramidに移行したいというDjangoアプリを持っているという逆の問題に対して私は答えを出しました。それについて申し訳ありません;) –

関連する問題