問題タブ [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 投票する
1 に答える
467 参照

php - クロスプラットフォーム互換の Blowfish ハッシュを生成 (PHP/Ruby)

PHP では、組み込みのcrypt()関数を使用していくつかのパスワード ハッシュを生成し、blowfish ハッシュを生成しています。

ruby にはString#cryptがあることがわかりますが、得られる出力はまったく異なります (はるかに短いハッシュ)。の man ページを見ると、crypt (3)一部の Linux ディストリビューションのみが glibc にフグのサポートを追加しているため、Ruby はサポートしていないと思います。

今、私はグーグルでcrypt宝石を見つけましたが、使用している2 ^ 10の代わりに2 ^ 16サイクルを実行するようにハードコーディングされているようです. また、Ruby 1.9.3 で例外が発生します。

PHP で生成したのと同じフグ ハッシュを Ruby で生成する方法を知っている人はいますか?

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

php - PHP の crypt 関数は内部でどのように機能しますか?

PHP で次の呼び出しを行うと、パスワードとソルトを使用して sha512 で何度もハッシュします。

しかし、このプロセスが実際にどのように機能するのだろうか。それはこのようなものですか?:

それとも本当に複雑なプロセスですか?

私が質問している理由は、他の言語で簡単に実装できる暗号ハッシュ システムが欲しいからです。

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

php - PHP crypt 関数の結果: どのように機能しますか?

PHP で次のスクリプトを実行すると:

次の結果が得られます。

hash1 は次の結果です。

私の質問は:

hash5 を除いてすべての結果が同じになるにはどうすればよいでしょうか? 塩分が少し変わるだけで全然違う結果になると思いました。

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

php - 最も長い出力を提供するハッシュ アルゴリズムはどれですか?

PHP の crypt 関数で使用できるどのハッシュ方式が最も長い出力を提供するのか、また、出力の長さが 2 つのハッシュの衝突の可能性を考慮して相対的なものであるかどうかに興味がありました。

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

php - 既存の認証システムを使用した Bycript/Blowfish および Salts

認証システムを Blowfish に移行しようとしています。私は暗号学者ではなく、Blowfish についての理解はまだ十分ではありません。

現在の設定では、sha1 と salt を使用しています。ソルトはユーザーごとに生成され、データベースに保存されます。要約すると、次のようになります。

このgetSalt()メソッドは、指定されたユーザーのデータベースに保存されているソルトを取得します。

今、すべてを正しく理解していれば、crypt を使用して次のことを行う必要があります。

明確にするために、2 番目の例の$saltInDB変数は、「$2a$07$arandomsaltcreatedatregistration$」のような値です。

  • 私はそれを正しくやっていますか?
0 投票する
2 に答える
915 参照

php - PHP の crypt() 関数を使用するときに base64_encode を使用する

皆さんに簡単な質問があります:

私は PHP をいじっています (私は比較的経験が浅いです)、自分のサイトで使用する安全なパスワード ハッシュ システムの開発に興味があります。crypt()SO に関する他の記事や質問を通じて、BSD のbcryptハッシュ アルゴリズムの実装にはPHP の関数を使用する必要があると推測しました。

あなたへの私の質問は、関数に初期化ベクトルまたはパスワードを入力すると、base64 ではない入力がハッシュとして「0」を返すように見えるという事実に関するものです。この問題を回避するために私が実装したものは次のとおりです。

このようにエンコーディングを変更すると、衝突やセキュリティの低下の危険性はありますか?

私の考えは、ハッシュ関数が空のハッシュを返すことを心配することなく、ユーザーがパスワードに任意の範囲の文字を使用できるようにしたいということでした (適切なパスワード ポリシーを適用します)。

これを行うためのよりシンプルまたはエレガントな方法はありますか? おそらく、ソルトとパスワードをあまり制限しないハッシュ関数を使用する必要がありますか?

あなたが私に与えることができる助けを前もって感謝します。

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

php - それをサポートしていないphp5.2でCRYPT_BLOWFISHを使用するには

私はPHP5.2でページを実行していますが、これはサポートしていませんCRYPT_BLOWFISHCRYPT_MD5、blowfishはmd5よりもはるかに安全であると聞いています。

私はスーパーバイザーではないので、PHPをサポートするバージョンにアップグレードすることはできません。

CRYPT_BLOWFISHPHP 5.2で使用するためのハックはありますか?

と、

最初の面に「$2a$」を貼り付けるのは正しいですか?

かなり混乱しています。

PSと一緒に使用するcrypt()CRYPT_BLOWFISH、bcryptは関数でうまくcrypt()機能しますか?

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

php - PHP暗号化関数のパスワードエンコーディング

次のコードは、どちらの方法でも同じ暗号化されたパスワードを返します。なぜ、そしてどのようにこれを止めるのか。

これは同じものを返しているので、明らかに何かが欠けています

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

php - ハッシュ: PHP Crypt() が正しく機能しない

crypt() で奇妙な動作をしています。Zend での私のコードは次のとおりです。

md5 で生成された文字列をヘルパー関数の generateHash に最初のパラメーターとして渡し、salt を 2 番目のパラメーターとして渡します。生成されたハッシュを $correct_password_hash 変数に保存します。

同じヘルパー関数の 2 回目の呼び出しで、最初のパラメーターの末尾にある文字 5 を削除しました。2 番目のパラメーターは同じです。ただし、最初のハッシュと同じハッシュを生成します。

出力は次のとおりです。

正しいパスワード ハッシュ - 57CO1Lzyk81kk
編集されたパスワード ハッシュ - 57CO1Lzyk81kk

ヘルパーの generateHash は次のとおりです。

これは crypt() がどのように機能するはずですか?

ありがとう。

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

php - これはクリプトの良い使い方ですか?

パスワードを保存するために、認証クラスをアップグレードmd5しています。cryptこれが私が取ったアプローチです:

ユーザーごとにソルトを一意にすると、提供されたユーザー名のデータベースルックアップというステップが追加されますid...それだけの価値があると思います。私はそれについて間違っていますか?ここで考慮していないことは他にありますか?