問題タブ [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.
c# - ネットワーク経由の C# 高速 MD5/SHA ハッシュ
私が現在取り組んでいる C# プロジェクトでは、ネットワーク経由で大量のファイルの MD5 を計算しようとしています (現在のポットは 270 万で、クライアント ポットは 1000 万を超える可能性があります)。処理するファイルの数が多いため、速度が問題になります。
これを行う理由は、ファイルが変更されずに別の場所にコピーされたことを確認するためです。
現在、次のコードを使用してファイルの MD5 を計算しています
しかし、この速度は私のマネージャーが望んでいたものではありません。MD5 を計算する方法とファイルの数に多くの変更を加えてきました (つまり、コピーしないファイルに対しては計算を行いません... 今日まで私のマネージャーは考えを変えました。すべてのファイルは、それらのために計算された MD5 を持っている必要があります。将来、クライアントが私たちのプログラムを盗聴したいので、すべてのファイルがコピーされると思います)
ネットワークの速度がおそらく主要な要因であることを認識しています (100Mbit/s)。ネットワーク経由でファイルのコンテンツの MD5 を計算する効率的な方法はありますか?
前もって感謝します。トレバー・ワトソン
編集:コードの一部ではなく、すべてのコードをブロックに入れます。
java - これと同じ Java SHA-1 を PHP で入手できますか?
Web サイトのプラットフォームを Java から PHP に変更する必要がありますが、すべてのユーザーのパスワードを保持したいと考えています...
ハッシュ値をパスワードとして Web サイトに書き込む前に、このコードでパスワード ハッシュを実行しました。
JavaコードはパスワードのSHA-1ハッシュを行ったと思いますが、その直前にUTF-8にバイトエンコードされ、その後Base64エンコードされました。
PHPコードに同じことをさせたい、つまり、Javaと同じパスワードに対して同じハッシュ値を返すようにしたいのですが、私が持っているSHA-1ハッシュを行うPHPコードは同じSHAを返さないようです(-1、Base64 でエンコードされていないと思いますか?) ハッシュの Java Base64 でデコードされた値と比較した場合の値...PHP のパスワードが最初に UTF-8 バイトでエンコードされていないという事実と関係がある可能性があります (どうすればPHPでそれを行うことができますか)お願いします?
ps
もう1つの奇妙なこと...Javaの私のパスワードはすべて28文字の長さです(通常はこのようなものですrnwn4zTNgH30l4pP8V05lRVGmF4=)...しかし、Base64().decode(hash)これらのパスワードハッシュの値は10文字の長さです(例[B@14e1f2b)。
Base64 は 3 つのチャーターごとに 1 文字を追加したと思いました (パディング = チャーターを除く 28 または 27 は、これらの 10 文字よりも 3 分の 1 をはるかに超えています)。
さらに、PHP の SHA-1 パスワード ハッシュ値は (UTF-8 mysql データベースで) 40 文字の長さdd94709528bb1c83d08f3088d4043f4742891f4fです。
ruby - 文字と数字の両方を含む行の「単語」をどのように検出しますか?
文字と数字の両方を含み、特定の長さの行で「単語」を検出する正規表現が必要です812d555c726d10c77b05cd164705665a。目標は、sha1 ダイジェストを含む行を検出することです。
正規表現のみでは難しすぎる場合は、Ruby ソリューションで問題ありません。
ruby-on-rails - 暗号を解読する -- RoR
私の Rails アプリには、C1 のクライアントのユーザー名を送ってくれるクライアント 'C1' があります。私とC1は塩を共有しています。C1 は、共有ソルトを使用して暗号化されたユーザー名を私に送信します。次に、それを復号化して元のユーザー名を取得し、dB に保存する必要があります。どうすればいいですか?
助けてください。前もって感謝します。
mysql - MySQL での SQL Server 2005 hashbytes('sha1','code') の代替
こんにちは、この方法で暗号化されたパスワードがいくつかあります。
SQL Server 2005 を使用して、MySQL への移行を計画しています。
MySQL または PHP に相当するハッシュ関数があります。
私は標準の SHA1 アルゴリズムを使用しているため、結果は SQL Server アルゴリズムを使用したものとは異なります。
security - 同じデータの SHA-512 ハッシュから SHA-256 ハッシュを導出できますか?
データにSHA-512を適用しています。SHA-512 ハッシュから元のデータの SHA-256 ハッシュを導出することは、理論的/実際的に可能ですか?
c# - SHA-1 と SHA-2 はいつ使用する必要がありますか?
私の c# アプリケーションでは、RSA を使用してファイルに署名してから、アップロード者が会社のデータベースにアップロードします。ここでは、ハッシュを計算するために SHA-1 または SHA-2 を選択する必要があります。
プログラミングの他のコンポーネントと同様に、「ここでこれを使用する」と「あちらでそれを使用する」という 2 つのコンポーネントが必要であることを私は知っています。
それで、これはいつ?そしてそれはいつですか?
編集:
私の質問は:パフォーマンスに関する違いは何ですか? SHA-2 が SHA-1 よりも確実に安全であることは既にわかっているので、セキュリティについては触れません。
このリンクでは、異なるタイプの SHA-2 の比較で、SHA-512 をいつ使用するか、最後に使用しないかを示しています。SHA-1 と SHA-2 についても同様の議論が必要です。
git - GitはサブモジュールのコミットのSHA1をどこに保存しますか?
サブモジュールをgitリポジトリに追加すると、sha1によって参照されるそのサブモジュールの特定のコミットが追跡されることを私は知っています。
このsha1値が格納されている場所を見つけようとしています。
.gitmodulesandファイルには.git/config、サブモジュールのパスのみが表示され、コミットのsha1は表示されません。
git-submodule(1)リファレンスはgitlinkエントリについてのみ説明し、 gitmodules(5)リファレンスはこれについても何も述べていません。
security - パスワードにはどのハッシュ関数を使用する必要がありますか?
こんにちは。最近、SHA256などの一般的なハッシュ関数は「高速になるように設計されている」ためパスワードハッシュ関数として使用するには安全ではないと言われました(ちなみに、以前、programmers.seでより高速なハッシュ関数を求めました)。だから私の質問、ウェブサイトや他の一般的なアプリケーションに何を使うべきですか?
また、2番目の質問:SHA256は、パスワードをハッシュするのに本当に良い選択ではありませんか?信じられないけど、もっとクレイジーなことが真実だと聞いた。
(注:固有の塩など、他のすべての適切なアクションが実行されていると想定してください)
ruby - rubyを使用して/etc/ shadow用にフォーマットされたSHA512クリプトスタイルのハッシュを生成しますか?
シェフのユーザーリソースで使用するために/etc/shadowファイルに直接含めるためのSHA512ハッシュパスワードを生成したいと思います。通常、これについてはstdlibのDigestライブラリにアクセスしますが、正しい形式でハッシュが生成されません。
シャドウファイルに必要な形式は次のとおりです。
私が見たもの:
- opensslの「dgst」モジュールは.hexdigestと同じ形式を返し、その「passwd」モジュールにはSHA512のサポートが含まれていません。
- String#cryptですが、SHA512はサポートされていません。(編集:これはOSXの場合のみです-ソルトとして「$ 6 $ somesalt」を指定すると、最新のLinuxディストリビューションが機能します)
- ruby-crypt gemですが、SHA512をサポートしていません
比較のために、適切な形式を返すものはPHPのcryptですが、単純なものにするためにPHPに実行する必要はありません。