問題タブ [crypt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2629 参照

php - 未定義定数 CRYPT_SHA512 の使用

PHP の暗号を使用してパスワードをハッシュし、SHA512 を使用する php スクリプトを使用していますが、SHA512 が設定されているかどうかを確認しようとすると、上記のエラーが発生します。もちろん、このエラーが発生する理由はわかっています.phpにはいくつかの依存関係がありません。その依存関係が何であるかはわかりません。

PHP で SHA512 を使用できるようにするには、(Ubuntu サーバーに) 何をインストールする必要があるか教えてください。

ありがとう!

0 投票する
2 に答える
2168 参照

php - mcrypt は、crypt() でサポートされているのと同じアルゴリズムを実行できますか?

crypt()PHP の関数を使用してハッシュされたパスワードを格納する PHP 5.3 で実行されるアプリがあります。ただし、使用されているハッシュ タイプ (SHA 512) は、私が現在使用している PHP 5.2 を実行するサーバーの 1 つでデフォルトでは使用できません。mcrypt を使用すると、柔軟性が大幅に向上しますが、使用がより複雑になることがわかりました。

PHP の mcrypt 関数を使用して、(SHA512 ソルトを使用して) crypt と同じ結果を得ることができますか?

したがって、SHA512 ソルトを使用して「test」と入力すると、暗号化されたデータは、crypt() を使用する場合と mcrypt() を使用する場合とで同じになるはずです。

それが不可能な場合は、他に何をすべきかアドバイスをもらえますか? 残念ながら、PHP 5.3 へのアップグレードはオプションではありません (これはクラウド サーバーであり、そのためのスクリプトを作成する時間がありません)。

0 投票する
1 に答える
4495 参照

c - Windows で crypt(3) を使用するには?

Windows プラットフォームで ac プログラムから crypt(3) を呼び出すにはどうすればよいですか? インクルードするヘッダー ファイルが見つかりません。gcc と msys がインストールされた MinGW があります。

編集:代わりに、Visual Studio からこの関数 (または同等の関数) を呼び出す方法も受け入れます。

0 投票する
2 に答える
25841 参照

php - PHP で Blowfish を使用してパスワード ハッシュを作成および保存する方法

1) crypt() を使用してパスワードの安全な Blowfish ハッシュを作成するにはどうすればよいですか?

1a) 「$2a」の意味は何ですか? Blowfish アルゴリズムを使用する必要があることを示しているだけですか?
1b) 「$07」の意味は何ですか? より高い値は、より安全なハッシュを意味しますか?
1c) 「$nGYCCmhrzjrgdcxjH$」の意味は何ですか? これは使用する塩ですか?これはランダムに生成する必要がありますか?ハードコーディング?

2) フグのハッシュをどのように保存しますか?

2a) これのどの部分をデータベースに保存する必要がありますか?
2b) 列 (MySQL) にはどのデータ型を使用する必要がありますか?

3) ログインの試行をどのように確認する必要がありますか?

0 投票する
1 に答える
1807 参照

php - crypt関数ではなく、md5関数を使用してmd5ソルトでcrypt関数が生成するときにmd5ハッシュを作成する方法は?

パスワードの暗号化やその他の一方向の暗号化要件のために、php で crypt 関数を使用することを好みます。ソルトを変更することで、サポートされている任意の暗号化アルゴリズムを使用できるため、他の利点はほとんどありません。通常、ソルトは使用せず、ランダムな MD5 ソルトを使用します。この暗号化文字列をパスワード ハッシュとしてデータベースに保存し、ユーザーの認証中にこれを crypt 関数のソルトとして使用します。それはphpでうまく動作します。しかし、関数のphp部分で暗号化関数を使用しているときに、ハッシュを作成するために他のプログラミング言語が必要な場合、問題が発生しました。

MD5 ソルトを使用しているときに crypt 関数が生成するものと同様にする必要がある MD5 ハッシュを作成する簡単な方法 (PHP md5() 関数などを使用) があるかどうかを知りたいです。crypt 関数を使用せずに php でどのように機能するかを理解できれば、他のプログラミング言語で実装する可能性が十分にあるかもしれません。

0 投票する
1 に答える
11571 参照

ruby - rubyを使用して/etc/ shadow用にフォーマットされたSHA512クリプトスタイルのハッシュを生成しますか?

シェフのユーザーリソースで使用するために/etc/shadowファイルに直接含めるためのSHA512ハッシュパスワードを生成したいと思います。通常、これについてはstdlibのDigestライブラリにアクセスしますが、正しい形式でハッシュが生成されません。

シャドウファイルに必要な形式は次のとおりです。

私が見たもの:

  • opensslの「dgst」モジュールは.hexdigestと同じ形式を返し、その「passwd」モジュールにはSHA512のサポートが含まれていません。
  • String#cryptですが、SHA512はサポートされていません。(編集:これはOSXの場合のみです-ソルトとして「$ 6 $ somesalt」を指定すると、最新のLinuxディストリビューションが機能します)
  • ruby-crypt gemですが、SHA512をサポートしていません

比較のために、適切な形式を返すものはPHPのcryptですが、単純なものにするためにPHPに実行する必要はありません。

0 投票する
4 に答える
3155 参照

php - PHP crypt() が間違った答えを返す

ここでビー玉を失っていると思います... Web サイトに問題があり、ログインの受け入れがランダムに停止します。私は今、非常に奇妙な振る舞いをしている crypt() までたどることができました。

私のデータベースには、暗号化されたバージョンのユーザー パスワードがあります。Og12345678 としましょう。

ユーザーがログインすると、パスワードを入力し、データベースからソルトを読み取り、入力した内容を暗号化して比較します-通常、これは非常にうまく機能します。

だから私は crypt($enteredPassword, $saltFromDb) をやっています - この場合、ソルトはもちろん Og になります。通常、特定のユーザーのパスワード暗号化は正常に機能します。

問題が発生すると(そして、Apacheを再起動するまで永続的な変更になります)、cryptが同じ入力に対して同じソルトで異なる回答を返し始めることがわかりました。

ただし、一貫性があります。つまり、システムが間違っていると、crypt は間違った答えを返しますが、常に同じ間違った答えを返します。ページを繰り返し更新すると、同じ出力が表示されます。同じソルトが新たに不正確なクリプトの結果にも示されているため、ソルトがどこかで失われているわけではありません。

その後、Apache を再起動し、何も変更せずにスクリプトを再実行すると、crypt の結果は本来あるべき状態に戻ります。

それが最新の PHP (5.2.8) ではないことを感謝しますが、それが後のバージョンで修正された既知のバグであるかどうかを含め、これに関する意見を評価します (PHP のアップグレードは、多くのサイトでは満足のいく作業ではありません。アップグレードのたびにすべてを再テストする必要があります) - 既知の修正されたバグである場合は、明らかにすべてをできるだけ早くアップグレードします。それ以上は、暗号化を外部に委託する方が簡単でしょう。私のサイトの共通の場所。

任意の入力をいただければ幸いです。

マット・ペドルスデン

--- 更新: 2011 年 3 月 11 日

オペレーティング システムに関する以前のコメントの修正... - オペレーティング システムは Windows Server 2008 SP1 64 ビットです。申し訳ありませんが、覚えていると仮定するのではなく、再確認する必要がありました。マシンは、Dell 2950 8 GB RAM、Xeon プロセッサです。

私はKrtekが提案している線に沿って考え始めています-システムが不安定になったとき、新しいcrypt()を生成すると(つまり、変数を文字列に設定し、それを暗号化し、暗号と比較する非常に単純な例) - すべてうまくいきます。サーバーを再起動すると、再び以前の計算に戻ります。だから私は間違いなく、crypt() の結果を計算するために使用されるアルゴリズムを変更する何かに傾いています...これが起こる原因について何か考えはありますか? CRYPT_STD_DES などの値を出力しましたが、再起動しても変化しません。

これが起こる原因について何か手がかりを得た人はいますか?

それが何であれ、昨日は 1 日に 2 回起こったようで、最も奇妙でした。

これまでの回答に感謝します。

--- 更新: 2011 年 3 月 16 日

別のアップデートを提供したかっただけです。

これはまだ起こっていますが、その理由はまだ理解されていません。

将来誰かがこれに遭遇した場合に備えて、今後の私の解決策は、厄介なハックを行って、すべての crypt() 実行を外部の C# アプリケーションにプッシュし、PHP に依存する必要をなくすことだと思います。どこかで何かがうまくいかず、この時点で私が見ることができる唯一の解決策は、それを方程式から完全に削除することです.

もちろん、それがまだ起こるのであれば、それを知るのも興味深いでしょう! :)

皆さんありがとう。

0 投票する
4 に答える
2698 参照

mysql - MySQLのENCRYPTが呼び出しごとに異なる結果を返すのはなぜですか?

私は醜いサーバーの問題を抱えています、そして私はこれに関する詳細を見落とさないようにしています。

私の仮想メールユーザーのパスワードは、MySQLのENCRYPT機能とともに保存されます。私の基本的な考え方は、古いマシンから仮想ユーザーのテーブルをダンプしてから、新しいマシンにインポートすることでした。

念のためENCRYPT、もう一度文字列を保存しようとしましたが、保存されているデータが異なります。これは、思ったとおりにユーザーをエクスポート/インポートできないことを意味しますか?

0 投票する
2 に答える
836 参照

php - crypt をパスワード ハッシュとして使用し、値を比較しますか?

多くの調査の結果、それが最良の選択肢であると思われるため、crypt() を使用してデータベースのパスワードをソルトを使用して暗号化することにしました。

なぜこれが機能して一致するのか、私は興味があります:

そして、このように同じように比較すると、次のようにはなりません:

何か案は?

ありがとう。

0 投票する
1 に答える
429 参照

php - php非同期暗号

PHPで文字列にデジタル署名し、モバイルアプリ(主にiOSまたはAndroid)を使用して署名を検証する非同期暗号化アルゴリズムを探しています。

そうするための最も簡単で効果的な方法は何でしょうか?RSAを信頼できますか、それとも両方の側(モバイル側とphpサーバー側)で実装するのが遅くて難しいですか?RSAで十分な場合、適切な実装を提案できますか?