問題タブ [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.
php - パスワードの暗号化
パスワードを暗号化するための最速でありながら安全な方法は何ですか(PHPでできれば)。どちらの方法を選択しても、移植性はありますか?
つまり、後でWebサイトを別のサーバーに移行した場合、パスワードは引き続き機能しますか?
私が今使用している方法は、言われたように、サーバーにインストールされているライブラリの正確なバージョンによって異なります。
.net - httplistener を使用する .net アプリケーションに SSL を追加するにはどうすればよいですか - IIS では *実行されません*
最近の太字の編集
は .netHttpListener
クラスを使用していますが、IIS でこのアプリケーションを実行する予定はなく、ASP.net も使用していません。このWeb サイトでは、asp.net で SSL を実装するために実際に使用するコードについて説明し、このサイトでは証明書のセットアップ方法について説明しています (IIS でのみ機能するかどうかはわかりませんが)。
クラスのドキュメントには、さまざまな種類の認証 (基本、ダイジェスト、Windows など) が記載されています --- いずれも SSL について言及していません。HTTPS を使用する場合は、サーバー証明書を設定する必要があります。これは 1 行のプロパティ設定でHttpListener
残りを把握することになるのでしょうか?
つまり、証明書を設定する方法と、コードを変更して SSL を実装する方法を知る必要があります。
HTTPS にアクセスしようとしているときには発生しませんが、システム イベント ログにエラーがあることに気付きました。ソースは「Schannel」で、メッセージの内容は次のとおりです。
SSL サーバー資格情報の秘密鍵にアクセスしようとしたときに、致命的なエラーが発生しました。暗号化モジュールから返されたエラー コードは 0x80090016 です。
編集:
これまでに行った手順
- C# で、HTTP 接続で機能する HTTPListener を作成しました (例: " http://localhost:8089/foldername/ "
- makecert.exe を使用して証明書を作成しました
- certmgr.exe を使用して信頼される証明書を追加しました
- Httpcfg.exe を使用して、テスト ポート (8090 など) で SSL 接続をリッスンしました。
- listener.Prefixes.Add( https://localhost:8090/foldername/ ");を介してポート 8080 を HTTPListener に追加しました。
- ブラウザーでHTTP クライアント接続 ( http://localhost:8089/foldername/ ") などをテストし、正しいリターンを受け取りました
- ブラウザーでHTTPS クライアント接続をテストしました (例: http://localhost:8090/foldername/ ")。"Data Transfer Interrupted" を受け取りました (Firefox の場合)。
- Visual Studio でデバッグすると、HTTPS 接続の開始時に、リクエストを受信するリスナー コールバックがヒットしないことがわかります。以前に何かをキャッチするためにブレークポイントを設定できる場所がありません。
- netstat は、リッスン ポートが HTTPS と HTTP の両方に対して開いていることを示しています。接続が試行された後、HTTPS ポートは TIME_WAIT になります。
- FiddlerとHTTPAnalyzerはトラフィックをまったくキャッチしません。これらの HTTP 分析ツールに表示されるまでには、プロセスが十分に進んでいないと思います。
質問
- 問題は何でしょうか?
- 欠落している.Netコードはありますか(つまり、HTTPSを指すリスナーにプレフィックスを追加するだけでなく、C#でさらに多くのことを行う必要があります。これは私が行ったことです)
- どこかで設定手順を見逃していませんか?
- 問題を分析するために他に何ができますか?
- システム イベント ログのエラー メッセージは問題の兆候ですか? もしそうなら、それはどのように修正されますか?
c# - パスワードが間違っていると「パディングが無効で削除できない」原因になるのはなぜですか?
簡単な文字列暗号化が必要だったので、次のコードを作成しました(ここから多くの「インスピレーション」を得て)。
間違ったキーでデータを復号化すると、decryptStringのcs.Close()行に「パディングが無効で削除できません」というCryptographicExceptionが発生することを除いて、コードは正常に機能しているように見えます。
サンプルコード:
私の質問は、これは予想されることですか?間違ったパスワードで復号化すると、例外ではなく、意味のない出力になると思っていたでしょう。
security - プロキシ サーバーは SSL GET をキャッシュできますか? そうでない場合、応答本文の暗号化で十分でしょうか?
(||任意の) プロキシ サーバーは、クライアントが https 経由で要求したコンテンツをキャッシュできますか? プロキシ サーバーはクエリ文字列や http ヘッダーを認識できないため、認識できないと思います。
私は、会社のプロキシの背後にある多くの人々によって実行されるデスクトップ アプリケーションを検討しています。このアプリケーションはインターネット経由でサービスにアクセスする可能性があり、「読み取り」用に組み込みのインターネット キャッシュ インフラストラクチャを利用したいと考えています。キャッシング プロキシ サーバーが SSL で配信されたコンテンツをキャッシュできない場合、応答のコンテンツを単純に暗号化することは実行可能なオプションでしょうか?
キャッシュ可能にしたいすべてのGETリクエストは、各クライアントが復号化キーを持っている非対称暗号化を使用して暗号化された本文でhttp経由でリクエストすることを検討しています。キャッシュできない GET や POST 操作を実行したい場合はいつでも、SSL 経由で実行されます。
c++ - CryptEncryptの適切な代替手段
私たちの製品には、Windows API関数CryptEncryptを介して暗号化されたSQL文字列(MSSQLサーバーまたはsybaseSQLのいずれかを選択)として、アプリケーションのデータベースに長い間データが保存されている状況があります。 (直接および復号化可能)
問題は、CryptEncryptが出力にNULLを生成する可能性があることです。つまり、データベースに格納されると、文字列操作によって、ある時点でCipherTextが切り捨てられます。
理想的には、NULLを含まないCipherTextを生成するアルゴリズムを使用します。これにより、既存のデータベースへの変更が最小限に抑えられます(列を文字列からバイナリに変更し、コードを文字列ではなくバイナリに処理する)データベースのアップグレード時に、既存のデータを復号化し、新しいアルゴリズムで再暗号化するだけです。
データベースはすでに適度に安全な環境(オープンネットワーク/インターウェブではない)にあるため、アルゴリズムは最も安全である必要はありませんが、ROT13(頭の中でほとんど解読できる)よりも優れている必要があります今!)
編集:ところで、暗号文を暗号文に変更する特別な理由はありますか?暗号文はもっと広く使われているようです...
c# - C#Webサービスでの暗号化
C#Webサービスでsoap通信を暗号化する簡単な方法を探しています。
WSE 3.0を調べていましたが、Microsoftがサポートを終了したようで、使用するのは簡単ではありません。
WCFはオプションだったようですが、私は.NET2.0からアップグレードしたくないと思っています。
シンプルでわかりやすい暗号化方法はありますか?
java - Java で 3DES 暗号化/復号化を使用するにはどうすればよいですか?
3DES を使用して Java で文字列をエンコードするために私が書いたすべてのメソッドは、元の文字列に復号化することはできません。文字列をエンコードしてからデコードして元の文字列に戻すことができる簡単なコードスニペットを持っている人はいますか?
このコードのどこかで非常にばかげた間違いを犯していることはわかっています。これまで私が取り組んできたものは次のとおりです。
** 注: 暗号化メソッドから BASE64 テキストを返しているわけではありません。また、パズルの BASE64 部分で間違いを犯していないかどうかを確認しようとしていたため、復号化メソッドで base64 エンコードを解除していません。
c# - .NET で構成ファイルをプログラムで暗号化する
誰かが.NET、できればC#で構成ファイルをプログラムで暗号化する方法の概要を教えてください。
私がやりたいのは、アプリケーションの起動時に何らかのチェックを行い、セクションが保護されていないかどうかを確認し、保護されている場合は暗号化することです。これは、設定と接続文字列の両方に適用されます。
また、誰かが暗号化プロバイダーのタイプとそれらの違いをリストできれば.
通常の WinForms アプリケーションでこれを行うためのコードが、ASP.NET でこれを行うのに透過的であるかどうかはわかりません。
encryption - 非 Web ゲームの安全なオンライン ハイスコア リスト
私が書いているネイティブ (非 Web) シングルプレイヤー ゲームをいじっていて、毎日/毎週/全期間のオンライン ハイスコア リスト(Xbox Live Leaderboard を考えてください) がゲームを作ることに気づきました。さらに興味深いのは、(少量の)コミュニティと競争を追加することです。しかし、このような機能をハッキングへの誘いとして見る人がいるのではないかと心配しています。
私はそのような試みを防止する明白な方法 (公開/秘密鍵の暗号化など) について考えましたが、ハッカーが私のすべてのアイデアを回避できるかなり簡単な方法を見つけました (バイナリから公開鍵を抽出し、偽の暗号化されたファイルを送信する)。スコアなど)。
オンラインのハイスコア リストまたはリーダーボードを実装したことがありますか? これを実装するための合理的なハッカープルーフの方法を見つけましたか? もしそうなら、どのようにしましたか?ハッキングの試みについて、どのような経験がありますか?
encryption - この Microsoft PDC の課題に対する答えは何ですか?
今日の channel9.msdn.com ビデオで、PDC 関係者はこのコードを解読するチャレンジを投稿しました。
解読して T シャツを獲得しましょう。(ラメは、PDC への無料旅行を望んでいたことを知っています。)
このコードには、最後の 332 パターンなど、いくつかの興味深いパターンがあることに気付きましたが、ここからどこへ行くべきか途方に暮れています。彼らは、答えはテキストの質問だと言っています。
このコードを解読するアイデアはありますか?