問題タブ [tripledes]
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#でのTripleDES復号化
こんにちは、同じインスタンスを使用してメッセージを復号化すると正しく機能しますが、新しいインスタンスTripleDES = new TripleDESCryptoServiceProvider();を使用して復号化しようとすると、 「不正なデータ」と表示されます。
c# - C# で指定された TripleDES のキー サイズは?
そのため、C# で TripleDES アルゴリズムを使用しようとしています。
ただし、指定されたキー サイズではないというエラーが表示され続けます。
それはどういう意味ですか、どうすれば修正できますか?
次の行で発生します。
pdb は Rfc2898DeriveBytes です。
ええ、どうすればこのエラーを修正できますか?
encryption - TripleDESCryptoServiceProvider - サービス拒否に対して脆弱ですか?
ここに暗号化方法を使用する従来の ASP.NET サイトがあります。
http://www.codekeep.net/snippets/af1cd375-059a-4175-93d7-25eea2c5c660.aspx
次のメソッドを呼び出すと、ページの読み込みが非常に遅くなり、最終的に Connection Reset が返されます。
後続のページ要求でメソッドが複数回呼び出されると、アプリケーション プールが停止します。
これは、.NET Framework v3.5 を実行している Windows 2008 サーバーで発生しています。
TransformFinalBlock()問題を呼び出しに絞り込みました。
注: Cassini では、接続タイムアウトは発生しません。代わりに、次の例外がスローされます。
他の文字列に対して Decrypt() を呼び出しても、どの環境でも問題は発生しません。
なぜこうなった?TripleDESCryptoServiceProvider のバグですか?
明らかに、cipherString をフィルター処理して " " を拒否し、この特定の問題を回避できます。ただし、私が疑わない他の cipherString 値が DoS を引き起こすのではないかと心配しています。
更新 2011.06.28
以下は、問題を再現するための最小限のコードです。
encryption - TripleDESキーサイズ-.NETとウィキペディア
ウィキペディアによると、TripleDESは56、112、および168ビットのキー長をサポートしますが、System.Cryptography.TripleDESCryptoServiceProvider.LegalKeySizesは、128ビットと192ビットのキー長のみを受け入れると述べています。
私が開発しているシステムは相互運用可能である必要があり(私のコードで暗号化されたデータはPHP、Java、Objective-Cで復号化可能である必要があります)、この場合は誰が正しいのかわかりません。
だから私は誰を信じるべきですか?また、暗号化されたデータが移植可能であることをどのように確認できますか?
c# - TripleDES ラッパーが機能しない
前回の TripleDES 関連の質問に続いて、整数の暗号化と復号化に使用される私の TripleDES ラッパー コードを次に示します。
実行すると、 への入力ごとに決定論的な結果が得られますEncryptIDが、 への呼び出しはすべてDecryptIDゼロを返します。私はコードに足を踏み入れ、「出力」配列の内容がすべてゼロである (そしてtr.TransformBlockゼロを返す) と言います。私が間違っていることを誰かが知っていますか?
電話をかけtr.TransformFinalBlockてみましたが、例外が発生しました:
php - PHP mcryptがデータをマングルする原因は何ですか?
TripleDESを使用してテキストのブロックを暗号化するためにmcrypt関数を使用しています。90%の確率で正常に動作し、正常に復号化できます。残りの10%は、まったく復号化できませんが、キーが間違っているか、データが壊れているかのように見えます。
機能は次のとおりです。
キーとIVは正しい長さ(それぞれ24/8)であり、変更されることはありません。私が言ったように、それはすべてでまったく同じコードを実行しますが、この方法で失敗するのはわずか10%です。
$textこれを引き起こしている私が渡すことができる何かがありますか?特定の文字セットが好きではありませんか?または、これはメモリ不足/その他のサーバーの状態が原因で発生する可能性がありますか?
これを特定するための助けをいただければ幸いです。ありがとう!
java - TripleDES アルゴリズムは、Android から呼び出されたときに異なる結果を生成します
私は、apache wicket によって構築された単純な Java Web アプリケーションを持っています。Web アプリでユーザーを登録するとき、ユーザーが入力するパスワードをトリプルを使用して暗号化し、データベースに保存します。彼らが同じパスワードを入力したときのログインページで、それを暗号化し、暗号化されたパスワードをデータベースに渡して、それが正しいかどうかを確認します。
現在、同じログイン機能を持つAndroidアプリの構築に取り組んでいます。
Android アプリのログイン ページでは、パスワードの暗号化に同じ暗号化ライブラリを使用しており、両方のプラットフォームで同じキーと初期化ベクトルを使用していますが、Android で同じパスワード文字列を入力しようとすると、TripleDes アルゴリズムはまったく異なる暗号化パスワードを生成します (多くのより長いです)。したがって、Android デバイスからのログインは失敗します。また、Android が生成する暗号化されたパスワードは復号化できず、例外がスローされることに気付きました。
2 つのプラットフォーム間で文字列エンコーディングの問題に違いがあるのではないかと考えていますが、その原因と修正方法がわかりません。
私が使用するアルゴリズムは次のとおりです。
}
.net - TripleDESCryptoServiceProvider の強力な暗号化キーを生成する方法
を使用してTripleDESCryptoServiceProviderおり、暗号化キーを保存する必要があります。
プロバイダーGenerateKeyメソッドを呼び出した場合、これは単なる base64 エンコード文字列ですか? もしそうなら、結果の文字列をキーとして使用するなど、エンコードを解除しても安全ですか?
少し別の話ですが、一方向ハッシュを行うときに、この同じキーをソルト キーとして使用することに問題はありますか? ユーザーが暗号化手法 (プレーン、ハッシュ、暗号化) を選択できるようにする .net 用の単純なメンバーシップ プロバイダーを作成しているので、ユーザーにソルト キーと暗号化キーの両方を指定させる必要があるかどうか疑問に思いました。
.net - IV、暗号化データ、および結果の値がある場合、トリプルDES暗号化アルゴリズムでキーを見つけることができますか?
これはいかなる種類のハッキングも対象としていません。私は.NETでトリプルDES暗号化技術を試してみています。私はいくつかのテストデータを持っています。与えられたデータで結果を取得する必要があります。結果もあります。しかし、値が一致することはありません。私はコードがうまくいくと確信しています(以下にそれを与えるでしょう)。だから私は唯一の可能性はキーが間違っている可能性があると思ったので、キーを見つけてそれが一致するかどうかを見てみましょう。以下は私のコードです:
最終結果は1B529558534F43D15556AD65C7E396D5674EE8A09E0A29A84389020EF820AC51B7D5E1B33BDA18A2です。必要なのは16バイトだけなので、最初の16バイトだけを16進数に変換しまし1B529558534F43D15556AD65C7E396D5た。
しかし、期待される結果は76db821f5c7af12dc8d70a6a79cfcb77
次のとおりです。キーを見つけることができれば、キーにも何らかの処理が必要であることがわかる場合があります。
助けてくれてありがとう!
java - Java Triple DES 暗号化/復号化に相当する PHP
PHP mcrypt 関数を使用して Java Triple DES 関数で暗号化されたキーを復号化しようとしていますが、うまくいきません。Javaコードの下を見つけます
上記のdecryptText Java関数と同等のPHP関数を書きたいと思います。復号化に必要な、暗号化のために Java コードによって生成された正確な IV 値を生成するのが難しいと感じています。