問題タブ [sha]

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 投票する
2 に答える
10196 参照

windows - Windows はユーザーとパスワードをどのように管理しますか?

Linux と Windows の暗号化方式について研究しています。

Linux がシャドウファイル (/etc/shadow) によってパスワードを管理し、(ほとんど) MD5またはSHAによってそれぞれを暗号化し、そのファイルに保存していることは知っていますが、Windows はユーザーとパスワードを管理するためにどのファイルを使用しますか?

誰かが私に簡単な説明またはそれについて読むことができるウェブサイトを教えてもらえますか?

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

haskell - Float の小数部分の最初の 32 ビットを Word32 に変換するにはどうすればよいですか?

私がフロートを持っているとしましょう。この Float の小数部分の最初の 32 ビットが必要ですか? 具体的には、sha256疑似コードのこの部分を機能させることを検討しています(ウィキペディアから

私は素朴に床 (((sqrt 2) - 1) * 2^32) を実行してから、返された整数を Word32 に変換しようとしました。これは正しい答えではないようです。2 ^ 32乗を掛けることで、実質的に32の場所(床の後)にシフトしたままになっていることがわかりました。明らかに、そうではありません。とにかく、長くて短いですが、 h[0..7] を生成するにはどうすればよいですか?

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

security - hmacキーとソルトの長さ

サードパーティのサービスに渡されるユーザーIDに署名するためにhmacsha1を使用しています。すべてのユーザーに同じシークレットが使用され、ソルトはユーザーごとに一意です。

hmacは短い文字列に対して機能しますか?userid:timestampは、たとえば12:1304985212のようになります。ソルトとシークレットの順序は重要ですか?(ソルト+シークレットvsシークレット+ソルト)共有シークレットの長さは何で、ソルトの長さは何でしょうか?同じシークレットを使用して、サーバーとリモートサービス間のメッセージにも署名できますか、それとも別のシークレットを生成する方がよいですか?

ありがとう

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

ssl - インターネット セキュリティにおける SHA-2 の役割は何ですか?

軽くて楽しい読書をしているので、明確にしたいと思います。

SSL は公開鍵暗号を使用し、HTTPS 接続のバックボーンであることを知っています。SSL で使用される暗号化は、AES-128、256 などです。SHA はセキュリティで保護された接続のどの部分を果たしますか? 接続が保護され、AES で暗号化されている場合、SHA はどこで機能しますか?

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

ios - MD5とSHA-1の入手

iPhoneアプリでMD5とSHA-1を取得するためのヘルプを探しています。誰かがこれらを取得する方法について私にアイデアを与えることができますか?

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

linux - パスワードの後または前に、SALT がパスワードに添付されている場所はどこですか?

GNU/Linux を使用している場合、パスワードは (主に) MD5 および SHA
で暗号化されます。オペレーティング システムは、辞書攻撃を避けるためにパスワードを暗号化する前に、このパスワードに SALT を付加します。

私の質問は、SO が SALT をパスワードの前後のどこに添付するかです。

たとえば、私のパスワードは: peter2011です。暗号化する前に、次のようにします。

saltpeter2011またはpeter2011salt ?

前もって感謝します。


あなたが私の質問を誤解したかどうかはわかりませんが、Linux がパスワードをどのように保存するのかを尋ねているのではなく、暗号化する方法を尋ねているのです。

encrypt_in_md5(saltpeter2011)またはencript_in_md5(peter2011salt)

/etc/shadow ファイルには $salt&encripted_pa​​ssword として保存されていることを知っています

前もって感謝します!

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

encryption - 脆弱なパスワード、bcrypt または SHA-256 + AES-256 でファイルを暗号化しますか?

脆弱なパスワード (ex の場合は小文字 8 文字) とファイルから始めます。そのパスワードを使用してそのファイルを暗号化する必要があります。結果は、既知の攻撃に対して安全でなければなりません。

アプローチ 1: SHA-256 を使用してパスワードをハッシュし、結果のハッシュとファイルを AES-256 への入力として使用して、暗号化されたファイルを作成することができます。SHA-256 と AES-256 の両方が非常に高速であることは理解しています。これにより、ファイルがブルート フォース攻撃に対して脆弱になるのではないでしょうか?

たとえば、事前に計算された SHA-256 ハッシュのレインボー テーブルを取得し、そのファイルが非常に小さく、パスワードが非常に脆弱であると想定して、そのテーブルからの各ハッシュを使用して妥当な時間内に AES-256 復号化を試みることができます (数特殊なハードウェアで数か月)。

アプローチ 2: bcrypt を使用します。私が正しく理解していれば、bcrypt は SHA-256 + AES-256 よりもファイルの暗号化に適しています。これは、キー生成スキームに作業要素があり、より強力なキーが得られるためです。それとも私が間違っていますか?

私が見た Ruby と Python の実装 (ラッパー?) は、暗号自体ではなく、パスワードのハッシュ スキームとして bcrypt を使用することに重点を置いています。bcrypt を使用して弱いパスをハッシュし、「ワンステップ」でファイルを暗号化することもできますか?

アプローチ 3: bcrypt を使用してパスをハッシュし、そのハッシュとファイルを AES-256 への入力として使用して、暗号化されたファイルを取得します。これにより、「鍵の生成が速すぎる」という問題が解決されます。(問題があると仮定します。)ただし、bcrypt ハッシュの長さは 448 ビットであり、AES-256 は 256 ビットのキーを必要とします。単純な解決策は、ハッシュの末尾のビットを単純に削除し、それを AES-256 のキーとして使用することです。結果がどうなるかを知るために暗号化について十分に知らないので、私はこのルートには行きません。

編集:これはオフライン アプリケーション用であるため、パスをソルトすることはできません。すなわち。塩を保管する合理的な場所はありません。パスをソルトし、ソルトを暗号化されていない状態で、暗号化されたファイルとともに保存できます。データベースが侵害された場合、ソルトはほとんど本質的にパブリック/可視です。ソルトの目的は、レインボー テーブル攻撃を防ぐことです。Nemo に感謝します。

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

java - SHA1 のサイズを小さくするにはどうすればよいですか?

問題があります。おそらくばかげた質問です。SHA1 アルゴリズムでハッシュした後、データベースにデータを保存したいと考えています。ただし、SHA1 のサイズ ワードが大きいため、将来的にはデータベースのサイズが大きくなります。

SHA1 アルゴリズムのサイズを半分に減らすことはできますか。ばかげた質問と、下手な英語で申し訳ありません。ありがとう。:D

JAVAを使用しています。

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

java - Java:ファイルのSHA-1を作成するにはどうすればよいですか?

純粋なJava6で非常に大きなファイル用のSHA-1を作成するための最良の方法は何ですか?このメソッドを実装する方法:

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

tomcat - tomcat6でBASIC認証でハッシュ化されたパスワードを使用するには?

tomcat-users.xml でハッシュされたパスワードを BASIC 認証で使用したいと考えています。レルム定義に digest="SHA" を追加しました。UserDatabase 部分は、$TOMCAT_HOME/conf/server.xml で次のように定義されています。

しかし、Tomcat を再起動した後も、$TOMCAT_HOME/conf/tomcat-users.xml で定義されたすべてのパスワードをプレーンテキストのパスワードとして扱います。

つまり、ユーザー名/パスワード guest/e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4 でログインできますが、本来あるべき guest/secret ではログインできません。

私が間違っていることを教えてください。