問題タブ [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.
php - Zend Server CE5.5のsha256を使用したPHPcrypt()は、提供されたソルトを切り捨てます
Zend ServerCE5.1からZendServerCE 5.5へのアップグレード中に、PHPも5.3.5から5.3.8にアップグレードされました。この移行後、私が取り組んでいるzendアプリケーションのログイン機能が突然壊れました。
デバッグしようとすると、の実装がcrypt()
PHPマニュアルを反映していないように見えるか、誤解しています。思い切って推測すると、後者です。
PHPマニュアルの例として使用されているSHA256を使用して、より大きなソルトの一部として16文字の長さのソルトを使用しています。
入力したパスワードをハッシュした後
戻り値として次のような文字列を取得します。
私を困惑させているのは、より大きな部分(上記の1234abcd5678defg)の一部である16文字のソルトが、現在12文字に切り捨てられていることです。
これは意図したとおりですか?このcrypt()
関数はまた、以前とは異なる結果を返すように見えます-これはPHPのバージョン間で通常ですか?変更ログには、暗号化アルゴリズムの根本的な変更を示唆するものはありません。
passwords - MD5 16 進文字列を base-64 MD5 文字列に変換するにはどうすればよいですか?
クリプト スタイルの MD5 に変換したい MD5 ハッシュ化されたパスワードがたくさんあります。
平文があれば、両方を簡単に作成できます。
しかし、どうすれば に変換179ad45c6ce2cb97cf1029e212046e81
できJN/baUhJCUwYKagp48tsP0
ますか?
c# - 暗号化SHA-512アルゴリズムの説明(c#)
編集:申し訳ありませんが、実装されたsha512 cryptを使用していません。これは、ハッシュを計算するためのソルト値や指定されたラウンド数が含まれていないことがわかるためです。
さて、私はc#でsha-512 cryptをコーディングしていて、ここにある手順に従っています...
http://people.redhat.com/drepper/SHA-crypt.txt
暗号化に関連することを行うのはこれが初めてなので、手順を正しく理解していることを確認したいと思います... cからc#への変換を指示するのに十分なcコードを理解していません:/
ダイジェストを終了することは、ハッシュを計算することと同じだと思います。この場合、ステップが完成したダイジェストを参照する場合、ハッシュ前の計算されたダイジェストバイトではなく、計算されたハッシュを参照していると仮定しました。私が間違っていたら訂正してください!
ステップ1〜8ですべてが正しく行われたと仮定すると、私の疑問はステップ9から始まります。
9.パスワード文字列の32バイトまたは64バイトのブロックごとに(C表現の終了NULを除く)、ダイジェストBをダイジェストAに追加します。
SHA-512を使用しているので、ブロックサイズは64バイトです。
次のコードは望ましい結果を生み出しますか?
私が言ったことが正しいことを誰かが明確にできるなら、私はそれをいただければ幸いです。ありがとう!
php - PHP の crypt() から Python へのハッシュの移植
crypt()
同様の方法で実行し、ランダムなソルトを生成して保存された文字列内に埋め込む、PHPの関数に同種のPythonがあるかどうか疑問に思っていました。
$5$
SHA256 ベースのソルト暗号を設定するために文字列キーを使用して作成されたハッシュ化されたパスワードのテーブルがあります。これらのハッシュには、一定の間隔で両端に添付された追加のエントロピーが記録されていましたが、これらの文字を文字列から分割してコア ハッシュを取得することは簡単であり、まったく問題ではありません。
私はpythonのドキュメントを見てきましたが、hashlib
phpのcrypt()
. PHP で利用されているアプローチ (ソルト、アルゴ、およびラウンドの間のドル記号で分割された入力形式) は言語に固有のものですか?
ありがとう。
編集:
Python 独自のネイティブcrypt
関数の改訂版では、PHP と同様の手順を使用するようです。3.3プレリリースのドキュメントから:
http://docs.python.org/dev/library/crypt.html
編集:
最後に、純粋な Python でこの機能を提供するライブラリである Passlib を見つけました。
encryption - 自分で入力した暗号化ソルトを使用して、関数を使用してソルトをランダム化するべきではないのはなぜですか?
私はソルトを入力しているだけで、PHPのドキュメントでは、人々は常にランダム変数関数を使用しています。ソルトを生成する代わりに入力することの欠点は何ですか?
php - CryptとSaltは、ブルートフォース攻撃に対してMD5よりもどのように安全ですか?
PHP.netで、MD5は役に立たないことを読みました。彼らは、crypt+saltの使用を提案しています。
それで、私は彼らの関数の説明に行き、読んだ
または私の場合は次のようなものです:
したがって、saltがハッシュ化されたパスワードに保存されており、そのハッシュ化されたパスワードをsaltとして使用していることを確認すると、Crypt + Saltは、出力に対するブルートフォース(ハッシュ化されたパスワードを盗むことができたハッカー)に対してより安全ではないと思います。より安全ですか?
辞書攻撃に対しては、その力は理解できますが、ハッシュ化されたパスワードに対するブルートフォース攻撃の場合、その利点はわかりません。
php - crypt() の代替
スクリプトを作成していて、パスワードを保存する必要があります。開発目的で、crypt()
簡単で利用できる関数を使用してきました。ほとんど終わったので、もう少し良くて一貫性のあるものに置き換えたいと思います。
私が持っている懸念のいくつかは次のとおりです。
- すべてのシステムですべてのアルゴリズムがサポートされているわけではありません
- ソルトが結果の前に追加されることがあります (セキュリティ上の問題のようです)。
PHP 4.3+で動作するものが欲しいです。
利用可能なものはありますか、それとも固執する必要がありcrypt()
ますか? を使おうと思いましmd5(md5($password).$salt)
た。洞察をありがとう。
c - unix crypt(3) 関数の OpenCL 実装はありますか?
OpenCL プログラムでunix crypt関数を使用したいと考えています。そのようなものはすでに存在しますか、それとも自分で翻訳する必要がありますか?
java - crypt(3) Java で $6$ パスワード ハッシュ アルゴリズム (SHA-512 に基づく)?
「/etc/pam.d/common-password」でアクティブ化されているcrypt(3)
場合、Linux の「/etc/shadow」ファイルに格納するときの方法でエンコードされたパスワード ハッシュを生成/検証する Java 関数を探しています。 sha512
.
平文の文字列「geheim」は次のように変換されます。
http://www.akkadia.org/drepper/SHA-crypt.txtから、MD5 のように、単に SHA ハッシュのようなものDigestUtils
や JavaMessageDigest
クラスが生成するものではなく、もう少し魔法を行うアルゴリズムであることを理解しています。
php - PHP クリプトが機能しない Ubuntu PHP 5.3.6
crypt 値が Ubuntu PHP 5.3.6 で一致しないのはなぜですか? 他のシステムでは、それらは一致します。
サンプルコード: