問題タブ [encryption-symmetric]
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.
ruby - 同じパラメーターを使用してテキストを暗号化する場合、OpenSSL コマンド ラインと Ruby OpenSSL ライブラリは異なります
注: テキストの対称暗号化には OpenSSL を使用します。
OpenSSL をテストするために Ruby スクリプトを作成しましたが、異なる結果が得られることがわかりました。キー、iv、および暗号は同一であるため、結果は同一であると予想されます。しかし、そうではありません。これが私のスクリプトです:
結果は次のとおりです。
ただ気になる結果。データが異なる原因は何ですか?
c# - Java暗号化とC#復号化の問題
文字列テキスト(基本的なもの)を暗号化および復号化するDLLがC#にありますが、一部のアプリケーションがデータを暗号化してライブラリに送信できるように、Javaで同じ暗号化方式を実装する必要があります。
C#コードはすでに本番環境にあるため変更できませんが、Javaは変更しないので、Java側で提案を行う必要があります。
基本的に、私はJavaで同じC#暗号化方式を実装しようとしています。これが私のC#コードです:
注:パスフレーズ、ソルトなどの値は、明らかに単なる参照です。
これが私のJavaコードです。データを暗号化しますが、C#暗号化コードと同じ方法ではないため、C#ライブラリを使用して復号化しようとすると、「復号化するデータの長さが無効です」という例外がスローされます。
編集1:Jon Skeetが提案したように、Javaコードで最後のバイト配列変換をStringに修正しました。
java - .NETとJava間の対称暗号化
サードパーティのプラットフォームを使用してランディングページを作成しています。この特定のプラットフォームを使用することはビジネス要件です。
彼らのページでは、データを暗号化して、サイトのリソースを呼び出すときにリクエストパラメーターを介してサーバーに送信できます。これは、AES対称暗号化を介して行われます。
パスワード、salt(16進値である必要があります)、および初期化ベクトル(ただし、16文字)を指定する必要があります。
それらのバックエンドは.NETプラットフォームです。予想よりも長いIVを指定した場合、根本的な例外は次のようになるため、これを知っています。
System.Security.Cryptography.CryptographicException: Specified initialization vector (IV) does not match the block size for this algorithm.
Source: mscorlib
したがって、たとえば、最後に次のように指定します。
EncryptSymmetric("Hello World","AES","P4ssw0rD","00010203040506070809", "000102030405060708090A0B0C0D0E0F")
入力は、それぞれプレーンテキスト、アルゴリズム、パスフレーズ、ソルト、およびIVです。
私は値を取得します:eg/t9NIMnxmh412jTGCCeQ==
JCEまたはBouncyCastleプロバイダーを使用してこれを復号化しようとすると(同じアルゴリズム、パスフレーズ、salt&IV、1000回の反復):2rrRdHwpKGRenw8HKG1dsA==
これは完全に異なります。
AESを復号化する方法について、オンラインでさまざまなJavaの例を見てきました。そのようなデモの1つは次のとおりです。http://blogs.msdn.com/b/dotnetinterop/archive/2005/01/24/java-and-net-aes-crypto-interop.aspx
Javaプラットフォーム上の.NETFrameworkによって生成されたパスフレーズ、salt、およびIVを使用するAES対称暗号化を復号化するにはどうすればよいですか?
Java側で同じ署名を生成して比較できる場合は、暗号化文字列の内容を復号化できる必要はありません(ここで実際に生成されているのはハッシュであることが判明した場合)。
私は本番環境でJDK1.5を使用しているので、これを行うには1.5を使用する必要があります。
ちなみに、Javaの例の多くは、Java側で繰り返し回数を指定する必要がありますが、.NET側では指定する必要はありません。デフォルトの.NET出力と一致するJava側で指定する必要のある標準の反復回数はありますか。
python - CBCモードを使用したPyCryptoによるAES256暗号化-弱点はありますか?
AES 256を使用してデータを暗号化/復号化する次のPythonスクリプトがあります。コードに暗号化を弱める可能性のあるものがあるかどうか、またはCBCを使用したAES256暗号化について考慮していないものがあるかどうかを教えてくださいモード?スクリプトをテストしましたが、正常に動作します。データの暗号化と復号化を行っていますが、セカンドオピニオンが必要でした。ありがとう。
c# - SQL Server 2008 R2 からのデータの復号化
この手順 (以下を参照) を Entity Framework 4.0 に変換するには、助けが必要です。これを移植する方法について誰か提案がありますか。対象プロジェクトには以下が含まれます。Silverlight 4、WCF RIA サービス、EF 4.0、SQL Server 2008 R2。
私が持っている唯一の要件は、ストアド プロシージャではなくマネージ コードに配置する必要があるということです。
これを設定する方法を教えてください。ありがとうございます。
java - 暗号化キーのラップとアンラップが失敗する(javax.crypto)
文字列を暗号化および復号化するための次のテストコードがあります。test()でキーのラッピングとアンラッピングのコードを省略しても問題なく動作しますが、キーをラップしてから再度アンラップして復号化に使用しようとすると失敗し、「結果の復号化された文字列として「テスト」しますが、代わりに「�J��」をテストします。
私がラッピングとアンラッピングで行っているエラーを誰かが見ていますか?ありがとう。
そして、上記のコードで呼び出される2つのヘルパーメソッド:
c# - .NET における AES (RijndaelManaged) のパフォーマンスの問題
RijndaelManagedで大きなデータ (約 3 ~ 5 MB) を暗号化するつもりです。そうすることに関するパフォーマンスの問題\提案はありますか?
ありがとう
c# - AES とその暗号モード
私はAESで暗号化/復号化を試みていました.CBCモードとECBモードを試しましたが、3つすべてから同じ暗号化された出力が得られました! これはどうですか?
それは間違っていないかもしれませんが、私は何を期待すべきかわかりません。そして、それらがすべて同じ暗号を生成する場合、モードを持つことのポイントは何ですか? それは時間ですか、それともパフォーマンスの複雑さですか?
AES とその暗号モードの違いを説明できますか? デフォルトの暗号モードは何ですか? または、MSDNが十分に明確ではないため、参考文献を教えていただければ
ありがとうございました
ssl - ソケット通信用のSSLハンドシェイクの代わりに対称鍵暗号化で接続速度を向上させることはできますか?
サーバーとiOSクライアントの間にtcpソケット通信を実装する必要があります。チャネルを介して送信されるデータを保護するために対称鍵暗号化を使用することを考えています。安全だと思うアプリケーション内に対称鍵を格納します。(キーの握手はありません)
ただし、SSLソケットを介した対称鍵暗号化を使用すると、接続速度が大幅に向上するかどうかはわかりません。
私の要件は、ユーザーがアプリケーションを起動したときにできるだけ早く接続を確立する必要があることです。誰かが私を正しい方向に向けることができますか?
c# - 入力データは完全なブロックではありません
シナリオ: 1 つの対称キー、各ユーザーが独自の IV を持ち、ドキュメントは NVARCHAR(MAX) フィールドに格納されます。ファイルを復号化しようとすると、次のメッセージが表示されます
。入力データは完全なブロックではありません。
前もって感謝します。
書類を保管するには