問題タブ [rijndael]
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.
xml - 別のファイルでの XML 暗号化/復号化
XML ファイルを暗号化して別の場所に送信し、そこで復号化する必要があります。以下のコードからわかるように、同じキーを使用していますが、機能しません (今のところ、単純に 2 つのローカル ファイルを使用しています)。
私が得るエラーは次のとおりです。
パディングが無効であり、削除できません。
Decrypt.aspx のこの行: Dim xReader As XmlTextReader
実際の暗号化の段階で、ファイルが正しく保存されないなどのエラーが発生している可能性があると考えています。
暗号化.aspx
復号化.aspx
興味を引くために、私が使用している XML 作成コードを次に示します。
php - PHP暗号化コードをColdFusionに変換
私はColdFusionで同等のことをしたいPHPのこのビットを持っています。
ただだと思います
しかし、私には確かなことを知る本当の方法がなく、それは完全に正しく感じられないので、そこにいる誰かが私を正しい方向に向けるのに十分であるかどうか疑問に思いました。
更新:情報については、ミスターダイによるこの回答は特に役に立ちました。
したがって、MCRYPT_RIJNDAEL_256は、実際には暗号化強度ではなくブロックサイズを意味します。キーとソルトはsha-256でハッシュされた値を使用してPHPで生成されるため、暗号化強度は256のままです。
これは私が今持っている暗号化呼び出しです:
encrypt(arguments.messageXML,instance.key,"AES/CBC/PKCS5Padding","Base64",ivSalt)
残念ながら、ivSaltの長さは32バイト(256ビット)であり、AESは16バイトのivソルトのみを想定しているため、これは爆発的に増加します。ここを見ると、ColdFusion / Java for AESの最大ブロックサイズは16バイト(128ビット)のようです。256ビットのブロックサイズを取得する方法がわかりません。どんな助けでも大歓迎です。
c# - C#AESRijndael-無効なパスワードの検出
プログラム内の機密データを暗号化するためにRijndaelを使用しています。
ユーザーが間違ったパスワードを入力すると、ほとんどの場合、CryptographicException
「パディングは無効であり、削除できません」というメッセージとともにaがスローされます。
ただし、非常に低い確率で、CryptStreamは間違ったパスワードで例外をスローせず、代わりに誤って復号化されたストリームを返します。言い換えれば、それはゴミに復号化します。
これを検出/防止する方法はありますか?私が考える最も簡単な方法は、暗号化するときにメッセージの先頭に「マジックナンバー」を付け、復号化した後もまだそこにあるかどうかを確認することです。
しかし、もっと簡単な方法があれば、ぜひ聞いてみたいです!
delphi - ラインダール暗号化。最初のキャラがおかしい
私が使用しているコード(XE):
文字列を復号化しようとすると、次のようになります。
$C#$C'Ç'#$B'ÛW'#$1F'Ø‹™Ç'#$8D'Ž'#$8D'!'mydata
そのため、最初の数文字は非常に奇妙な文字になります。残りの部分は問題なく復号化されます。hereで同様の問題が見つかりましたが、解決策はありません。前もって感謝します!
c# - RijndaelManagedを使用して暗号化されたファイルを復号化する方法
画像ファイルを暗号化できます。しかし、そのファイルを復号化することはできません。
while((readLen = cryptStrm.Read(bs、0、bs.Length))> 0)
誰もがどの部分が間違っているか推測できますか?私がプログラムしたコードは次のとおりです。
暗号化されたファイルを読むと、まったく読めません。vssを使用してcryptstreamのプロパティを表示すると、長さと位置と呼ばれるCryptoStreamのプロパティに「NotSupportedException」があります。
私はこの問題を解決するために多くの時間を無駄にします.....plsは私を助けます.....
暗号化[ビットマップ>>暗号化されたファイル]
復号化[暗号化されたファイル>>ファイル]
暗号化
復号化
c# - C# Rijndael php mcrypt による強化された復号化
私は逆コンパイルされた C# .net アプリを持っています。このアプリは、ログイン パスワードの暗号化に使用します: http://www.obviex.com/samples/Sample.aspx?Source=EncryptionWithSaltCS&Title=Encryption%20With%20Salt&Lang=C%23
C# コード
私はパスとivを持っています。
PHPでパスワードを解読するにはどうすればよいですか? mcrypt_decrypt() のいくつかの変種をすでに試しました。
誰かがアイデアを持っていましたか?
よろしくお願いします。
c# - 暗号化機能は、Windows と UNIX で異なる出力を提供します
文字列を入力として受け取る C# で記述された暗号化ツールがあります。コンパイルした exe ファイルを Windows マシンで実行すると、mono を使用してリモート UNIX サーバーで実行した場合とは異なる出力が得られます。
次に例を示します。
ウィンドウズ:
ユニックス:
入力値をスクリプトに入れてからコンパイルして再度実行しようとしても、同じ結果が得られました。
復号化関数はリモート Web サービスにあり、ハードコードされたキーと IV 値を使用します (これらの値を使用して暗号化しています)。復号化出力:
これが暗号化関数です。
これは復号化関数です (これを変更することはできません):
c# - PhpはC#.NET RIJNDAEL 256から文字列を復号化します
修正しました。
何らかの理由で、Php は GET 変数の + をスペースに変換していました。
--
C#.NET で復号化されている文字列を復号化しようとしています。
コードの結果はさまざまです。最終的な文字列の一部が解読され、残りがランダムな文字である場合がいくつかありました。
ほとんどの場合、「復号化された」文字列はすべてランダムな文字であり、いくつかの Php 関数を使用して PKCS7 パディングを削除しようとしましたが、どれも問題を解決しませんでした。
サイトで同様の質問をいくつか見ましたが、どれも役に立ちませんでした。
C#
Php:
PHP 出力:
IV: WzsMlG39tfCGuX2EQM3vq8CoqGA xC0nW jICls8Cno=
キー: b0dJN2c6cklVUX1qUGlFfGMweXRKbH5fSEMuXjAgfQo=
Encrypted String: oLxa21fxfQGg0EJ5rwMjEzMblvcaTq0AInDAsD88wAkNeLqOdon0ukLjz49Hpp36KPTKcTGkj1f7EPYPAAbuADnr3Ff0zpptZkx2d22VRbHrMgj QLF9vDxQRT3er3UAXsAfKKTyW8qeSIgrzACFLX3yoro/bzWic rt7ED7y0jZ7a1Hci3GMz/4KhwaftarbV QQWStJlSOqdxAdmtRRe84Vi3085S6um51bNrh5QzGRH PcpucfqaTb3junfO9g67j2JUQaM/Tj1EGnv6oX3wATR/LuWyhnhrCH86u10I=
鍵サイズ: 32
ブロックサイズ: 32
暗号: Rijndael-256
iv サイズ: 32
結果:
/ci�����^/�c�g�������s��c�(��
元の文字列 (JSON): {"user":"jsmith","firstName":"John","lastName":"Smith","phone":"12223334444.5555","email":"john.smith@domain. com","address":"123 Some Street","address2":"apt 456","city":"Some City","state":"LA","zip":"55555"}
c# - .NET System.Security.Cryptography Key Derivation Question(AES / Rijndael)
System.Security.Cryptography.RijndaelまたはSystem.Security.Cryptography.AesクラスにあるGenerateKey()、CreateEncryptor(Byte []、Byte [])、またはCreateEncryptor()メソッドを使用する場合、キーはどのように生成されますか?
- RFC-2898で使用されている方法に従っていますか?Rfc2898DeriveBytesもSystem.Security.Cryptography名前空間のクラスであるため、RFC-2898に準拠していると想定することしかできません。