問題タブ [sha256]

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 に答える
2756 参照

cryptography - PKCS#7SignedDataおよび複数のダイジェストアルゴリズム

SHA1以外のダイジェストアルゴリズムをサポートしない署名ベリファイアの下位互換性を維持する方法で、アプリケーションをデフォルトのPKCS#7SignedDataダイジェストアルゴリズムとしてのSHA1からSHA256などのより強力なダイジェストにアップグレードすることを検討しています。PKCS#7フォーマットと利用可能なオプションについての理解を確認したいと思います。

私がやりたいと思うのは、SHA1とSHA256の両方(またはより一般的にはダイジェストアルゴリズムのセット)を使用してメッセージコンテンツをダイジェストし、古いアプリケーションがSHA1を介して検証を継続し、アップグレードされたアプリケーションがSHA256(より一般的には)を介して検証を開始できるようにすることです。 、提供される最強のダイジェスト)、より弱いアルゴリズムを無視します。[より良いアプローチがあれば、私に知らせてください。]

PKCS#7標準内では、複数のダイジェストを提供する唯一の方法は、ダイジェストアルゴリズムごとに1つずつ、複数のSignerInfoを提供することです。残念ながら、これはセキュリティの正味の低下につながるように思われます。攻撃者は、最も弱いダイジェストアルゴリズムを使用してSignerInfoを除くすべてを削除でき、それだけでも有効な署名を形成するからです。この理解は正しいですか?

もしそうなら、私の考えは、SignerInfoのauthenticatedAttributesフィールド内のカスタム属性を使用して、追加のダイジェストアルゴリズムに追加のメッセージダイジェストを提供することでした(下位互換性のためにSHA1を「デフォルト」アルゴリズムのままにします)。このフィールドは単一のブロックとして認証されるため、これにより上記の攻撃を防ぐことができます。これは実行可能なアプローチのように見えますか?PKCS標準の外に出ることなくこれまたは同様のことを達成する方法はありますか?

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

.net - HMACSHA256 ハッシュはあるサーバーから別のサーバーに転送できますか?

パスワード エンコーディング スキームを使用HMACSHA256.ComputeHashして 1 つのサーバーでパスワード ハッシュを生成し、後で別のサーバーに移行する必要がある場合、ハッシュは同じものをエンコードしますか? 設定が暗号化操作に関係しているのを見た記憶がありmachineKeyますが、完全にはわかりません。

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

php - What's wrong with these passwords?

When I try to put a new user's password into a MySQL database, it doesn't encrypt it correctly. Here's the code I'm using:

When I check the database though, it doesn't store the password as sha256 encrypted. It only has 16 random characters (it should have ~50). What's wrong with it?

0 投票する
6 に答える
11820 参照

c# - 私のPHPSHA256ハッシュがC#SHA256Managedハッシュと同等ではないのはなぜですか

なぜこれらは同じではないのですか?

php:

c#

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

salt - メールを確認するためのトークンとして「email+salt」からハッシュ

ユーザーのメールアドレスを確認しています。
ほとんどの人が言う方法は、いくつかの一意のトークンを作成してそれをdbに保存し、ユーザーに送信することです。

私は、サイト全体のソルトを使用して電子メールアドレスをハッシュ(sha256)し
、このハッシュをユーザーに送信するだけでそれを行っています。

私は何かが足りないのですか、それともこれで確認できますか?

0 投票する
6 に答える
41352 参照

python - PythonでのSHA-256の実装

SHA-256ハッシュ関数のPython実装を探しています。SHA-256関数がどのように機能するかをよりよく理解するためにそれを使用したいと思います。Pythonはこのための理想的な言語だと思います。擬似コードには、コードの変更が出力にどのように影響するかを確認するために、実行/テストできないという制限があります。

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

c# - 証明書SHA-256を自己生成する方法は?

C#でBouncy Castleライブラリを使用してSHA-256で署名していますが、スマートカードリーダーの代わりに自己生成証明書のテストで使用したいと思います。

以前に使用した自己証明書を使用すると、暗号化の例外が発生します。

指定されたアルゴリズムが無効です

同じ自己証明書でSHA-1署名を使用すると、うまくいきます。スマートカードを使用すると、同じコードが正常に実行されます。

makecertパラメーターとは何ですか?

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

security - パスワードを保存するために、より長い出力を持つハッシュアルゴリズムを好むべきですか?

私はセキュリティがいくらか重要なサイトを構築していて(それでは、いつ重要ではないのですか?)、パスワードを保存するための最良の方法を探していました。MD5にはSHA-1と同様に衝突の問題があることを知っているので、SHA-256またはSHA-512のいずれかを介してパスワードを保存することを検討していました。

小さいハッシュバリアントではなく、長いハッシュバリアントを格納する方が賢明ですか?(つまり、512対256)SHA-256でエンコードされたパスワードと比較して、SHA-512でエンコードされたパスワードを解読するのにかなり長い時間がかかりますか?

また、パスワードに「ソルト」を使用する方法についても読みました。これは何で、どのように機能しますか?ソルト値を別のデータベースフィールドに保存するだけですか?ハッシュ値の計算の一部としてそれをどのように使用しますか?

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

c# - XML メッセージ本文の SHA-256 ハッシュ値を作成する方法

人間が判読できるが、変更されていないことを確認できる XML ファイルを作成しようとしています。

私が取っているアプローチは次のとおりです。

  • xml メッセージ本文を生成する (正規化を適用 (C14N))
  • メッセージ本文のハッシュ値を生成します (SHA-256)
  • ハッシュ値を暗号化する (AES-256)
  • 暗号化されたハッシュを使用してメッセージ ヘッダーを生成する

このタスクのすべての段階で問題が発生していますが、現在の問題は XML 本体からハッシュ値を生成することです。

「ReadContentAsBase64 メソッドは、この XmlReader ではサポートされていません。CanReadBinaryContent プロパティを使用して、リーダーが実装しているかどうかを確認してください。」という例外が発生します。しかし、XElement の読み取りを実装する方法が他にわかりません。

xml の例を以下に示します。

そして、これが私が役に立たないようにしようとしてきたコードです:

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

php - PHP の hash_hmac 関数に相当する C++ は何ですか?

PHP アプリケーションを C++ に移植しています。PHP アプリケーションは次の関数を使用しています。

hash_hmac — HMAC メソッドを使用してキー付きハッシュ値を生成する

このコードがある場合、実際には何をしているのでしょうか?

sha256 と私のキーを使用して一部のデータを暗号化することは知っていますが、C++ でこれを実行するにはどうすればよいですか?

hmacライブラリとsha2ライブラリを見つけましたが、必要なものかどうかわかりません。