問題タブ [sha1]

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

c# - SHA1 ハッシュの質問

文字列をハッシュする次のメソッドがあります。

私の質問は:

結果のハッシュは、同じ文字列に対して常に同じですか?

数日前に文字列をハッシュしたところ、別のハッシュになったようですが、よくわかりません。

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

ffmpeg - How can i create a stable checksum of a media file?

how can i create a checksum of only the media data without the metadata to get a stable identification for a media file. preferably an cross platform approach with a library that has support for many formats. e.g. vlc, ffmpeg or mplayer.

(media files should be audio and video in common formats, images would be nice to have too)

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

.net - HMACSHA1 で暗号化された文字列を解読するには?

私は暗号化の初心者で、システム間で値をやり取りしようとしています。値を暗号化できますが、相手側で復号化する方法がわかりません。VB.NET を使用して単純な Windows フォーム アプリケーションを作成しました。値とキーを入力し、暗号化してから復号化して元の値を取得しようとしています。これまでの私のコードは次のとおりです。どんな助けでも大歓迎です。ありがとう。

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

c++ - 文字列の一意のハッシュ

任意の長さの文字列の一意のハッシュ (16 文字の長さ) を作成したいと考えています。これを実現できる C++ 用の MD5 または SHA-1 を実装する優れたライブラリはありますか? (そしておそらくそれを使用する方法の例)

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

c++ - 16 桁のハッシュ関数

16 桁の 16 進数値を返すハッシュ関数はありますか (MD5 は 32 桁を返すため)、または 16 桁の値を返す MD5 または SHA-1 を使用できるライブラリ (C++ 用) はありますか?

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

c# - javascript および C# での SHA1 base64 アルゴリズム

javascript で実装された sha1 アルゴリズム ( http://pajhome.org.uk/crypt/から取得) と C# での実装を比較するいくつかのテストを実行しています。

C# を使用して {'method':'people.get'} のハッシュを取得するには、次のステートメントを使用しています。

それは私に与えますQy95a0ShZqhbNdt6IF8qNf72jX0=

JavaScript では、ほぼ同じ結果が得られます。次Qy95a0ShZqhbNdt6IF8qNf72jX0のステートメントを使用します。

JavaScript の場合、ハッシュは等号 (=) で終わりません。

この違いにより、サーバーに対する認証で問題が発生する可能性はありますか?

私の場合、多くの人が知っているように、私がハッシュを計算している文は http 本文内に入り、サーバーはそれをチェックします。

ありがとう

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

c# - 組み込みライブラリを使用していないSHA-1のC#実装はどこにありますか?

私の個人的なプロジェクトで、並列化のためにSHA-1アルゴリズムを書き直そうとしています。関数だけでなく、ハッシュを実行するための実際の数学演算のC#実装をどこで見つけることができるかを誰かが知っているかどうか疑問に思っていSystem.Security.Cryptographyます。

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

sha1 - PBKDF2-HMAC-SHA1

WPA2 ネットワークの有効なペアワイズ マスター キーを生成するために、ルーターは PBKDF2-HMAC-SHA1 アルゴリズムを使用します。PMK を取得するために sha1 関数が 4096 回実行されることは理解していますが、そのプロセスについて 2 つの質問があります。

擬似コードですみません。

1) SHA1 関数の最初のインスタンスへの入力はどのようにフォーマットされていますか? SHA1("ネットワーク名"+"ネットワーク名の長さ"+"ネットワークパスワード")

その順序でフォーマットされていますか? ネットワーク名、長さ、パスワードの 16 進値ですか、それともストレート ASCII ですか?

次に、私が収集したものから、受信した 160 ビット ダイジェストは、追加のソルティングなしで別のハッシュ ラウンドに直接供給されます。このように: SHA1("ハッシュの最後のラウンドからの 160 ビット ダイジェスト") 立ち上がり、繰り返します。

2) これが 4096 回発生すると、出力の 256 ビットがペアワイズ マスター キーとして使用されます。私が理解できないのは、SHA1 が 160 ビットの出力を生成する場合、アルゴリズムはどのようにしてキーに必要な 256 ビットに到達するのでしょうか?

助けてくれてありがとう。

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

asp.net - 40文字のSHA1ハッシュを20文字のSHA1ハッシュに変換することは可能ですか?

私の問題は少し毛深いです、そして私は間違った質問をしているかもしれません、それで私に耐えてください...

メンバーシップシステムのユーザーパスワードとソルトを保存するレガシーMySQLデータベースがあります。これらの値は両方とも、Rubyフレームワークを使用してハッシュされています-大まかに次のようになります。

hashedsalt = Digest :: SHA1.hexdigest( "-#{Time.now.to_s}-#{login}-")

hashedpassword = Digest :: SHA1.hexdigest( "#{hashedsalt}:#{password}")

したがって、両方の値はMySQLに40文字の文字列(varchar(40))として格納されます。

次に、これらすべてのユーザーを、SQLServerデータベースを使用する新しいWebサイトのASP.NETメンバーシップフレームワークにインポートする必要があります。ASP.NETメンバーシップを構成する方法では、ユーザーパスワードとソルトもSHA1ハッシュとしてメンバーシップデータベース(テーブルaspnet_Membership)に保存され、Base64でエンコードされ(詳細はこちらを参照)、保存されることを理解しています。 nvarchar(128)データとして。

しかし、格納されているBase64でエンコードされた文字列の長さ(28文字)から、ASP.NETメンバーシップが生成するSHA1ハッシュの長さは40文字ではなく20文字しかないようです。文字/文字セット/エンコーディングまたは関連するものごとのビット数と関係があります。

では、40文字のSHA1ハッシュを20文字のハッシュに変換して、新しいASP.NETメンバーシップデータテーブルに転送する方法はありますか?私は今ではASP.NETメンバーシップにかなり精通していますが、この1つが欠けているように感じます。ただし、RubyのSHA1と.NETのSHA1には互換性がないこともわかっている可能性があるため、負け戦を戦っています...

洞察を事前に感謝します。

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

cryptography - 同一のSHA1ハッシュを取得することは可能ですか?

2つの異なる文字列S1とS2(S1!= S2)が与えられた場合、次のことが可能です。

本当ですか?

  1. はいの場合-どのくらいの確率で?
  2. そうでない場合-なぜですか?
  3. 重複する確率が0である入力文字列の長さに上限はありますか?または、SHA1(したがって重複の確率)の計算は文字列の長さに依存しませんか?

私が達成しようとしている目標は、機密性の高いID文字列(親IDなどの他のフィールドと結合されている可能性があります)をハッシュして、代わりにハッシュ値をIDとして使用できるようにすることです(データベースなど)。

例:

クライアントが「X123-P123」を表示できるように、リソースIDの性質を公開したくありません。

代わりに、新しい列ハッシュ( "X123-P123")を作成したいと思います。たとえば、AAAZZZとしましょう。次に、クライアントはID AAAZZZのリソースを要求できますが、私の内部IDなどはわかりません。