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

iphone - iPhone用Objective-CのSha256

このコードを使用して文字列のsha256を作成すると

ハッシュは正しく返されますが、この\x00\x25\x53のような文字列を挿入する必要があります。この場合、指定されたエンコーディングを使用して受信者を変換できないため、関数は空の文字列の sha256 を返します。

さて、私の質問は次のとおりです。正しいハッシュを生成するためにこの特殊文字を挿入する方法は? ありがとう

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

python - M2Crypto を使用して Python 2.4 で SHA-256 ハッシュを生成する

M2Crypto を使用して SHA-256 ハッシュを生成することは可能ですか? Python 2.4 の SHA モジュールは 256 をサポートしていないため、PyCrypto を使い始めましたが、PyCrypto が PKCS#5 (プロジェクトの他の場所で必要) をサポートしていないことがわかりました。その結果、M2Crypto に切り替えました。私の PyCrypto SHA-256 呼び出しを同等の M2Crypto に置き換えたい... 単体テストを調べてみましたが、何も表示されませんでした。

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

md5 - ハッシュ(md5、sha1)のサブストリングは、他のサブストリングよりも「ランダム」ですか?

これがmd5ハッシュの3つの例です

任意のハッシュから8文字を取得したいとします。ハッシュの最初の部分は、最後よりも特に「ランダム」ですか?真ん中?または、すべての部分文字列は等しく「ランダム」ですか?

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

java - JavaでSHA256ダイジェストから16進エンコードされた文字列を生成できないようです

ここでImがどこで間違っているのか理解できないようです:

私は次のような文字列を取得しています:

")469.76F5941+31E25)6,9,C26)978)4*917180A4C(B7C,E,D+6,7133C705167"

明らかに16進数ではありません!

質問:

  1. ハッシュ生成コードは正しいですか?
  2. 16進エンコード方式は正しいですか?
  3. エンコーディングに関して何かが足りませんか?
0 投票する
2 に答える
1351 参照

javascript - SHA-256 パスワード ジェネレーター

sha-256 の JavaScript 実装を見ました。sha-256 (javascript 実装またはおそらく python 標準モジュールを使用) アルゴリズムをパスワード ジェネレータとして使用することが安全かどうか (賛否両論) を尋ねたいと思います。

私は 1 つのパスワードを覚えており、それに続いて (など) Web サイトのアドレスを入力し、生成されたテキストをその Web サイトのパスワードとして使用します。他のウェブサイトと同じパスワードが必要になるたびにプロセスを繰り返します

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

ruby - RubyとSHA256-MacOSとWindowsの違いは?

私はこの小さなテストスクリプトをRuby(MacOS上)で作成しました:

どの出力(MacOSの場合):

次に、WindowsXPでまったく同じスクリプトを実行します。

誰かがここで何が問題なのか教えてもらえますか?

0 投票する
5 に答える
15639 参照

cryptography - Windows CryptoAPI:CALG_SHA_256とMYキーストアの秘密鍵を使用したCryptSignHash

次のopensslコマンドと互換性のあるCryptoAPIを使用して、Windows(XP SP3からですが、現在Windows 7でテスト中)でデジタル署名を生成しようとしています。

署名には、Windowsの「MY」キーストアの秘密鍵を使用したいと思います。

次のCryptoAPI関数(簡潔にするためにパラメーターを省略)を使用して、SHA1ダイジェストアルゴリズムを使用してファイルに署名することができました。

生成された署名は、「openssl dgst -sha1 -verify」と互換性があります(バイト順序が逆になると)。

私の問題は、CALG_SHA_256をCryptCreateHashで使用しようとすると、エラー80090008(NTE_BAD_ALGID)で失敗することです。を調べてみると、デフォルトのプロバイダーではなく、特定のプロバイダー( PROV_RSA_AES )を使用する必要があることがわかりましたプロバイダーハンドルがあるので、CryptAcquireCertificatePrivateKeyをCryptGetUserKeyに置き換える必要もあります。そこで、プログラムを次のように変更しました。

残念ながら、これは期待どおりに機能しませんでした。CryptGetUserKeyがエラー8009000D(NTE_NO_KEY)で失敗しました。CryptGetUserKey呼び出しを削除すると、プログラムはCryptSignHashまで実行され、エラー80090016(NTE_BAD_KEYSET)で失敗します。キーセットを使用してSHA1ダイジェストに署名できたので、キーセットが存在し、正常に機能することはわかっています。

CertFindCertificateInStoreから取得した証明書コンテキストからの情報を使用してコンテキストを再度取得しようとしました。CryptGetUserKey呼び出しを成功させることが最善でしたが、CryptSignHashは常に同じエラーで失敗しました。

私が使用しようとしている秘密鍵は2048ビット長ですが、SHA1ダイジェストで機能するため、問題になるとは思われません。私は途方に暮れているので、どんな提案でも大歓迎です!

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

hash - 限られた値のセットに対する原像攻撃の防止

社会保障番号のハッシュに対して原像攻撃を実行するコストについて質問しました。私が得た優れた答えは、社会保障番号の種類には3億6600万のハッシュしかないため、原像攻撃を簡単に実行できるというものでした。

私の質問は、原像攻撃を完全に回避できるかどうかです。私のシナリオでは、複数のクライアントが社会保障番号を中央サーバーに保存する必要があります。ハッシュはクライアント間で一貫している必要があります。クライアントはオンラインWebサービスと通信できます。

0 投票する
9 に答える
86323 参照

c# - MD5 または sha-256 C# を使用したパスワードのハッシュ

アプリケーションの登録フォームを作成していますが、C# を初めて使用するという問題がまだあります。

パスワードをmd5またはsha-256、できればsha-256に暗号化/ハッシュすることを検討しています。

良い例はありますか?「string password;」から情報を取得できるようにしたい それをハッシュして、変数「string hPassword;」に格納します。何か案は?

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

c# - SHA-256 からのエンコードされた文字列の部分文字列化とバイト配列の切り捨て

私はハッシング アルゴリズムとそれらを使用する際のリスクに精通していないため、以前の質問で受け取った以下の回答について質問があります。. .

ハッシュ値が ASCII にエンコードされた場合、16 個の ASCI 文字に収まる必要があるというコメントに基づいて、解決策は最初に、暗号化ハッシュ関数を選択することです (SHA-2 ファミリには SHA-256、SHA-384、および SHA-2 が含まれます)。 512) 次に、選択したハッシュ関数の出力を 96 ビット (12 バイト) に切り捨てます。つまり、ハッシュ関数の出力の最初の 12 バイトを保持し、残りのバイトを破棄してから、切り捨てられた出力を base-64 エンコードします。 16 個の ASCII 文字 (128 ビット) に変換し、実質的に 96 ビット強度の暗号化ハッシュを生成します。

base-64 でエンコードされた文字列を 16 文字にサブストリング化すると、それは根本的に異なり、ハッシュ関数の最初の 12 バイトを保持してから base-64 エンコードしますか? もしそうなら、誰かがバイト配列を切り捨てるために説明してください(サンプルコードを提供してください)?

完全なハッシュ値の部分文字列を 36,000 以上の異なる値に対してテストしたところ、衝突はありませんでした。以下のコードは私の現在の実装です。

あなたが提供できる助け(そして明確さ)に感謝します。

[元の投稿] (http://stackoverflow.com/questions/4340471/is-there-a-hash-algorithm-that-produces-a-hash-size-of-64-bits-in-c)