問題タブ [encryption]

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

c# - C#で文字列を暗号化および復号化しますか?

C#で文字列を暗号化および復号化するにはどうすればよいですか?

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

encryption - iSeries で暗号化する

IFS に保存されているファイルを暗号化またはパスワード保護するために使用できるツールは何ですか?

*Windowsからアクセス可能な統合ファイルシステム

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

javascript - クライアントで値を暗号化し、復号化せずに Web サーバー経由で渡す方法

みなさん、私は、クライアントからブラック ボックス システムに至るまで暗号化された値を保持し、途中で暗号化を解除する必要がないプロジェクトを研究しています。ブラウザーと Web サーバー間で SSL を使用していますが、値は Web サーバーで自動的に復号化されるため、これを回避する必要があります。復号化される最終的な宛先に到達するまで、Web サーバー (暗号化されたまま) および他のバックエンド システムを通過できるようにする必要があります。

だから私の質問は、途中で暗号化を解除せずに、ブラウザーからの値の暗号化された状態を維持するためにどのようなオプションを利用できるかということです。

ありがとうマーク

0 投票する
10 に答える
17381 参照

c# - クレジットカードの詳細を保存する

顧客の完全なクレジット カードの詳細 (番号、名前、有効期限、CVV2) を短期間保存する必要があるビジネス要件があります。

理論的根拠: 顧客が製品を注文するために電話をかけ、そのクレジット カードがその場で拒否された場合、販売を失う可能性があります。詳細を聞いて、取引に感謝し、カードが拒否されたことがわかった場合は、電話をかけ直すことができ、製品の別の支払い方法を見つける可能性が高くなります. クレジット カードが受け入れられた場合は、注文の詳細を消去します。

これを変更することはできません。既存のシステムはクレジット カードの詳細をクリア テキストで保存します。これを置き換えるために構築している新しいシステムでは、明らかにこれを複製するつもりはありません。

私の質問は、クレジットカードを短期間安全に保管するにはどうすればよいかということです。明らかに何らかの暗号化が必要ですが、これを行うための最良の方法は何ですか?

環境: C#、WinForms、SQL-Server。

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

sql-server-2005 - SQLServer2005でのデータベース暗号化のベストプラクティス

SQL Server 2005データベースにデータを格納するアプリケーションを開発する必要があります(アプリ自体はWCFサービスまたはAsp.Net Webサービスのいずれかになります)。

現在、このデータは非常に機密性が高いため、暗号化された形式でデータベースに保存する必要があります。

だから、私はこれの周りのベストプラクティスは何であるか疑問に思っています。SQLServerに組み込まれている暗号化機能がいくつかあることを私は知っています。私がすぐに始めることができるように、これのための「ダミーのための」タイプのリソースはありますか?

あるいは、データベースではなくC#コードで暗号化/復号化できると考えていました-データアクセス層のすぐ上にこれを処理する層があるかもしれません(それは良い考えです)?

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

sql-server - SQL Server 2005 - 暗号化された DB を別のサーバーに復元する

暗号化された DB (対称キー/証明書) をバックアップし、別のサーバーに復元しました。

残念ながら、復号化に問題があります...誰かが助けてくれることを願っています.

復元されたデータベースでは、SSMS で対称キーと証明書を確認できますが、証明書を使用してキーを開こうとすると (証明書 CertB による対称キー KeyA 復号化を開く)、次の非常にわかりやすいエラーが表示されます。

メッセージ 15466、レベル 16、状態 1、行 1 復号化中にエラーが発生しました。

何か案は?

前もって感謝します。

0 投票する
12 に答える
182055 参照

c# - レジストリに保存するときにパスワードを暗号化する最も簡単な方法は何ですか?

現在、クリア テキストで書いています、社内プログラムなので悪くはないのですが、ちゃんとやりたいです。レジストリへの書き込み時にこれを暗号化するにはどうすればよいですか? また、暗号化を解除するにはどうすればよいですか?

0 投票する
10 に答える
28373 参照

security - ハッシュのソルトを隠す必要性

職場では、塩について 2 つの競合する理論があります。私が取り組んでいる製品では、ユーザー名や電話番号などを使用してハッシュをソルトしています。基本的に、ユーザーごとに異なるものですが、私たちはすぐに利用できます。他の製品は、ユーザーごとにソルトをランダムに生成し、ユーザーがパスワードを変更するたびに変更します。その後、ソルトはデータベースで暗号化されます。

私の質問は、2 番目のアプローチが本当に必要かどうかです。純粋に理論的な観点からは、最初のアプローチよりも安全であることは理解できますが、実用的な観点からはどうでしょうか。現在、ユーザーを認証するには、ソルトを暗号化せずにログイン情報に適用する必要があります。

考えてみると、このアプローチによる実際のセキュリティの向上は見られません。アカウントごとにソルトを変更すると、攻撃者が各アカウントのソルトをすばやく判断する方法を知っていたとしても、誰かがハッシュ アルゴリズムをブルート フォースしようとすることは依然として非常に困難になります。これは、パスワードが十分に強力であることを前提としています。(明らかに、すべて 2 桁のパスワード セットの正しいハッシュを見つけることは、8 桁のパスワードの正しいハッシュを見つけるよりもはるかに簡単です)。私の論理が間違っていますか、それとも何かが欠けていますか?

編集:さて、ソルトを暗号化するのは本当に無意味だと思う理由は次のとおりです。(私が正しい軌道に乗っているかどうかを教えてください)。

以下の説明では、パスワードは常に 8 文字で、salt は 5 文字で、すべてのパスワードは小文字で構成されていると仮定します (計算が簡単になるだけです)。

エントリごとに異なるソルトを持つということは、同じレインボー テーブルを使用できないことを意味します (実際、技術的には、十分なサイズのテーブルがあれば使用できますが、それは今のところ無視しましょう)。これは、私が理解しているソルトへの本当の鍵です。なぜなら、すべてのアカウントを解読するには、いわばそれぞれのアカウントを再発明する必要があるからです。正しいソルトをパスワードに適用してハッシュを生成する方法を知っていれば、ソルトは実際にはハッシュされたフレーズの長さ/複雑さを拡張するだけなので、それを行います。したがって、ソルトが何であるかを知っているため、パスワード + ソルトを 13^26 から 8^26 に「知る」ために生成する必要がある可能な組み合わせの数を削減します。これで簡単になりましたが、それでも本当に難しいです。

それでは、ソルトの暗号化について説明します。ソルトが暗号化されていることがわかっている場合は、最初にそれを復号化しようとはしません (十分なレベルの暗号化があることがわかっている場合)。私はそれを無視します。それを解読する方法を見つけようとする代わりに、前の例に戻って、13^26 のすべてのキーを含むより大きなレインボー テーブルを生成します。ソルトを知らないと間違いなく遅くなりますが、最初にソルト暗号を解読しようとするという記念碑的なタスクが追加されるとは思いません. だからこそ、もったいないと思います。考え?

ブルート フォース攻撃に対してパスワードが保持される期間を説明するリンクは次のとおりです: http://www.lockdown.co.uk/?pg=combi

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

c# - C# で PHP 暗号化文字列を復号化する

C# で解読したい PHP で暗号化された文字列があります。以下のチュートリアルを使用して暗号化を行いましたが、復号化に問題があります。誰でもこれを行う方法の例を投稿できますか?

http://www.sanity-free.org/131/triple_des_between_php_and_csharp.html

0 投票する
7 に答える
2396 参照

algorithm - 平文を知って、使用されている暗号化スキームを発見する方法は?

プロジェクトの過去の開発者によって暗号化されたままになっている DBF テーブルに char() フィールドがいくつかあります。

ただし、いくつかのレコードを復号化した平文の結果は知っています。元のデータを復号化するための関数/アルゴリズム/スキームを特定するにはどうすればよいですか? これらはいくつかのサンプル フィールドです。

暗号文の場合:

平文は次のようにする必要があります。

暗号文の場合:

平文は

0d 0aパディングだけだと思います。win-1252エンコーディングで収集されたデータからのものでした(問題があるかどうかはわかりません)

編集:好奇心と学習のためです。プレーンテキストがわからないタプルのフィールドの値を回復するために使用される暗号化(バイナリデータですが、単純なもののように見えます)を理解できるようにしたいと考えています。

編集 2:いくつかのサンプルを追加しました。