問題タブ [rijndaelmanaged]
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# - インデックスが配列の範囲外だった。Rijndael暗号化
これを読む前に、以下の自己回答を参照してください。問題は無効な入力でした。
いくつかの文字列を復号化しようとすると、次の例外がスローされます。
デバッグ中は、次の行に例外がスローされます。
この問題は、復号化する文字列が大きすぎる場合にのみ発生すると思います。「こんにちは、私はX-Wareです」のような短い文字列を暗号化して復号化しようとすると、正常に機能するためです。
助言がありますか ?!
PS私はあなたに94行目を示すためにコメントを書きました//これは94行目です
c# - 出力が無効です
PDFファイルを.xxxファイルに暗号化するPHPプログラムがあります。この出力は、この.xxxファイルを復号化してPDFファイルに戻すC#プログラムによって読み取られています。
私の問題は、C# で復号化されたファイルを開くと、PDF リーダーがファイルが破損していることを通知することです。PHP でプレーンテキストを暗号化し、C# で復号化すると、暗号化したファイルを取得したため、問題が発生するだけです。 PDFファイル、つまりBINARYファイルに表示されます
助言がありますか ?!
ノート:
- PHPでは、mcrypt拡張RijndaelアルゴリズムCBC PKCS7パディングを使用します(パディングは手動で行われます)
- C# では、RijndaelManaged クラスを使用してデータの暗号化と復号化を行います
編集:
PHPで使用する暗号化方法は次のとおりです。
C# での復号化方法は次のとおりです。
C# で復号化を呼び出す方法と、出力を書き込む方法は次のとおりです。
.net - RijndaelManaged Cryptostreamは、ファイルをディスクからメモリに復号化します
しばらく前に書いたライブラリがあり、以下のクラスコードと同じロジックを使用していますが、ファイルを復号化すると、ディスク上で復号化され、暗号化されたバージョンを削除するかどうかを選択できます。ファイルをメモリに復号化するオプションを追加して、ファイルをbyte()としてキャプチャし、バイトをサービスに送信できるようにしようとしています。私は明らかにファイルをディスクに復号化し、ファイルストリームを読み取り、byte()に変換し、復号化されたバージョンを削除することができます(ディスク上のファイルを暗号化しておく必要があるため)...削除するファイルを何度も作成します、とりわけディスクの断片化を引き起こす可能性があるので、ファイルをメモリに復号化したいと思います。とにかく、これはファイルをメモリストリーム変数に正常に復号化しますが、ファイルビューアにバイトをダムすると、ファイル形式が認識されないことを通知します。
これが私がこれまでに持っているコードです:
アップデート:
cryptostream.FlushFinalBlock()を追加しました
これはまだ機能していません...ストリームを最後まで読んでいないように感じます。
アップデート:
これが私の「暗号化」メソッドで、復号化と同じIVメソッドとキーメソッドを使用しています...
最終更新:
成功したメモリコードへのファイルの復号化は次のとおりです。
asp.net - パディングが無効であり、削除できません
例外: ソース: mscorlib メッセージ: パディングが無効であり、削除できません。
スタックトレース:
また、マシンキーは自動に設定されていません。だから誰か助けてください。ありがとう
javascript - .Net RijndaelManaged で Javascript が見つからない
C# WCF で次の暗号化/復号化を使用しています。
今、私は Java スクリプトを使用して Web でデータを暗号化し、WCF でデータを復号化できるようにしようとしています。このスクリプトを使用しようとしましたが、動作しませんでした。Javascript または JS と .ネットサンプル?
次のエラーが発生します:{「復号化するデータの長さが無効です。」}
ありがとう。
enterprise-library - RijndaelManaged、Enterprise Library、Autofacを一緒に利用する
Autofacをコンテナとして使用しながら、暗号化アプリケーションブロックを新たに実験しています。
その結果、私はnugetパッケージEntLibContrib 5.0--AutofacConfiguratorを使用しています。
DPAPI Symmetric Crypto Providerを使用すると、データを正常に暗号化/復号化することができました。
ただし、RijndaelManagedを使用すると、ActivationExceptionが発生します。
Microsoft.Practices.ServiceLocation.ActivationException:タイプISymmetricCryptoProvider、キー「RijndaelManaged」のインスタンスを取得しようとしたときにアクティブ化エラーが発生しました---> Autofac.Core.Registration.ComponentNotRegisteredException:要求されたサービス'RijndaelManaged(Microsoft.Practices.EnterpriseLibrary.Security。 Cryptography.ISymmetricCryptoProvider)'は登録されていません。この例外を回避するには、サービスを提供するコンポーネントを登録するか、IsRegistered()を使用してサービス登録を確認するか、ResolveOptional()メソッドを使用してオプションの依存関係を解決します。
ここでの手順に従って:http://msdn.microsoft.com/en-us/library/ff664686 (v = pandp.50).aspxCryptographyManagerをMyServiceに挿入しようとしています。
私のブートストラップコードは次のようになります。
App.configには、symmetricCryptoProvidersに対して定義された次の情報があります。
このテクノロジーの組み合わせの経験がある人はいますか?
いくつかのテストの後、代わりにUnityコンテナーを使用する可能性があると思います。これは、使用するもの以外にIOCコンテナーを優先しないため、ASP.NETMVC3およびhttpでホストされるWCFサービスとうまく統合する必要があるためです。
その後、私のブートストラップコードはより単純になります。
var container = new UnityContainer()
.AddNewExtension<EnterpriseLibraryCoreExtension>();
container.RegisterType<IMyService, MyService>();
c# - 暗号ストリームからストリームの最後までの読み取り
以下のコードに問題があります。暗号化が必要な一時的な場所にファイルがあります。この関数はそのデータを暗号化し、「pathToSave」の場所に保存します。
調べてみると、ファイル全体が適切に処理されていないようです。出力にビットが欠けており、ストリーム全体で while ループが実行されていないことに関係があると思われます。
余談ですが、while ループの後で CryptStrm.Close() を呼び出そうとすると、例外が発生します。これは、ファイルを復号化しようとすると、ファイルが既に使用されているというエラーが発生することを意味します!
いつものことをすべて試してみましたが、アイブはここで同様の問題を調べました。
ありがとう
編集:
私の問題は暗号化にあると仮定しました。私の復号化が原因かもしれません
c# - 復号化するデータの長さが無効です
Rijndael C#ライブラリを使用して復号化しようとしているときに発生している問題を調査してきました。ここに掲載されているいくつかの解決策を試しましたが、どれも機能または適用されていないようです。
問題:ハードウェアから送信されたHTTPリクエストを復号化しようとしています。ただし、HTTPリクエストが復号化方法に一致する正しいバイト数に変換されていません(これが問題だと思いますか?)。
これが私のコードです:
そして復号化方法:
srDecrypt.ReadToEnd()で、タイトルに記載されているエラーメッセージが表示されます。
私はこれにかなり慣れていないので、どこが間違っているのかわかりません。何かアドバイスをいただければ幸いです。ありがとう〜!
c# - RijndaelManagedは復号化できません
コードは次の場所にあります:http://pastebin.com/3Yg5bHra
私の問題は、復号化しても何も返されないことです。復号化されるものはありません。
111-114行目あたりで問題が発生しています。データをメモリストリーム(msDecrypt)に入れましたが、cryptoStream(csDecrypt)は空です。
Nudierを編集 して解決策を考え出しました