問題タブ [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.

0 投票する
1 に答える
330 参照

java - Triple Des Algorithm 実装の正しいバージョンを使用しているかどうかを確認するにはどうすればよいですか?

Java の Triple Des Algorithm 実装をインターネットで検索しました。

私は多くの解決策を見つけて、そのうちの1つを選択しました(私にとってより良いドキュメントがあるもの)。私はテストし、正常に動作します。

次に、Java 用の AES アルゴリズムの実装を探しました。そして良いものを見つけました。Triple Des Algorithm の実装と非常に似ていますが、まったく同じではありません。

AES Algorithm 実装を使用し、Cipher インスタンス パラメータを「AES」から「DESede」に変更すると、何が追加されるのでしょうか。私は変更を加え、コードをテストし、問題なく動作しました。しかし、返された文字列は、以前の Triple Des Algorithm 実装で返された文字列とは異なります。

タイトルが言うように、Triple Des Algorithm 実装の正しいバージョンを使用しているかどうかはどうすればわかりますか?

これは最初の実装です:

これは2番目のものです:

これはテストケースです:

私の下手な英語でごめんなさい。

ご協力いただきありがとうございます

0 投票する
2 に答える
541 参照

c# - 3DES は、同じ暗号文に対する複数の反復に対して一貫した復号化を生成しません

コードに 3DES (TripleDES) 復号化ルーチンを実装しましたが、提供された暗号文が前の反復と同じ場合、同じ平文が生成されないことに気付きました。それは非決定論的なようで、私が間違っていることだと確信しています。

私は CBC (IV をゼロにして)、ECB、破棄とクリアの複数の組み合わせを試しました。一貫した出力が得られないようです。

(何らかの理由で、以下の「コード」と「出力」のコード形式が正しく表示されません。申し訳ありません)

コード

出力

0 投票する
1 に答える
12950 参照

php - TripleDes、PKCS7、および ECB を使用した PHP 暗号化/復号化

暗号化機能は正常に動作していますが、復号化機能で適切な出力を得る方法がわかりません。

ここに私の暗号化機能があります:

ここに私の復号化関数があります:

現在、 のキーを使用しており、testを暗号化しようとしてい1234567ます。探している暗号化から base64 出力を取得しますが、復号化しようとすると何も返されません (空白の領域)。

私は暗号化/復号化に精通していないので、どんな助けでも大歓迎です!!

0 投票する
1 に答える
2339 参照

c# - .NET / C#でTripleDESキーを設定する方法

私はTripleDESC#で作業しており、MSDNエントリによると、 TripleDES2つまたは3つの56ビットキーで機能し、DESの3つの反復を使用します。ただし、使用するキーの数とそれらのキーを指定する方法がわかりません。実際、私が見つけることができるすべての例はTripleDES.CreateEncryptor()、キーが1つまたはまったくない状態で呼び出されていることを示しています。さらに、TripleDESクラスには1つのKeyプロパティしかありません。

の2番目と3番目のキーを指定するにはどうすればよいTripleDESですか?

前もって感謝します。

0 投票する
1 に答える
2262 参照

php - PHP の 3des - 適切なキー/文字列を取得できません

PHPで3des文字列をデコードする必要がありますが、これまで解読した経験がありません...

最初のステップは、デコードするキーと文字列のセットを取得することです - 私はすでにそれを持っています。

アルゴリズムに関する次の情報があります。

タイプ: CBC、パディング - PKCS5、初期化ベクトル (iv?) - 8 つのゼロの配列

私はこの方法を試します:

最初にサンプル データが表示され、このデータ コードでは正常に動作します。SOAP Web サービスによってデータベースから取得した独自のデータを使用しようとすると、問題が発生します。次のエラーが表示されます。

警告: pack() [function.pack]: タイプ H: 不正な 16 進数が....

ここに画像の説明を入力

スクリプトでさまざまな種類のコーディングを試みたにもかかわらず、これを取得しました。スクリプト ファイル自体は ANCI にあります。

また、コメントでわかるように、私もIVでいくつかの実験を行いましたが、最初の問題に対処しないと意味がありません。

もう1つはパディング== PKCS5です。それを使用する必要がありますか?私の場合はどのようにすればよいですか?

これについて助けていただければ幸いです。

0 投票する
2 に答える
811 参照

c# - C#とJavaでのトリプルDESの実装に違いはありますか?Javaで誤ったIVサイズのエラーが発生する

このアプリケーションでは、トリプルDESを使用してデータを暗号化および復号化します。C#には24バイトのキーと12バイトのIVを使用するenc/decコードがあります。ここで、Javaで同じコードを実装したいのですが、12バイトのIVを使用すると、Javaで誤ったIVサイズを示すエラーが発生します。調べてみると、Javaが8バイトのIVを使用していることがわかりました。トリプルDESのC#とJAVAに実装の違いがあるのはなぜか、混乱しています。それとも私は何かが足りないのですか?

これは私たちの暗号化コードに似ています

}

これが私たちがそれをどのように利用しているかです:

0 投票する
1 に答える
1893 参照

encryption - Base 64 エンコーディングなしの TripleDES: 最終ブロックが適切にパディングされていない場合

TrippleDES アルゴリズムを使用し、Base64 エンコーディングを使用せずに文字列を暗号化および復号化しようとしています (私のアプリは、これらの要件を持つ別のアプリと通信します)。Base64エンコーディング/デコーディングを使用してテストしていたときはすべてがうまく機能しましたが、プレーンテキストスタイルに切り替えると(私が呼び出しているアプリが必要とするように)、すべてが壊れました.

私はこの投稿を読みましたが、デコード時にキーが間違っていると言っていますが、これらの行は実際にはキーと変換の両方に同じ変数を渡しているためです

また、エンコードされた文字列と配列の両方の長さを出力しました。それらの長さは 8 の倍数です。

私の出力は次のとおりです。

私の完全なコード (このチュートリアルhttp://eternusuk.blogspot.com/2008/09/java-triple-des-example.htmlのわずかに変更されたバージョン):

前もって感謝します!

0 投票する
2 に答える
2676 参照

javascript - Titanium モバイル プロジェクトで「CryptoJS」ライブラリを使用してテキスト メッセージを復号化する [トリプル DES]

暗号化されたテキスト メッセージがあり、リンクに投稿された「crypto-js」ライブラリを使用して復号化したい: http://code.google.com/p/crypto-js/

TRIPLE DES を使用して復号化したい。ライブラリをダウンロードし、プロジェクトの「lib」フォルダーに「tripledes.js」を配置しました。そして、この方法で復号化する関数を呼び出しています。

「undefined のメソッド 'decrypt' を呼び出せません」というエラーが常に発生します。

「tripledes.js」コードを調べてみましたが、本当に大きなライブラリなので、このライブラリを使用してTitaniumでテキストを復号化する方法の解決策が見つかりませんでした.

前もって感謝します。

0 投票する
2 に答える
1094 参照

java - Windows では 3DES 暗号化/復号化が機能し、Linux では IllegalBlockSizeException がスローされる

最近、Flex/Java ソフトウェア ソリューションを Windows から Linux (CentOS6 64 ビット) に移行しようとしたところ、この問題に遭遇しました。

簡単に言うと、Flex/ActionScript (com.hurlant ライブラリを使用) で短いテキストを暗号化しています。アルゴリズムは、ECB と PKCS5Padding を使用した TripleDES です。サーバーは JBoss 5.1.0GA です。

この暗号化されたテキストは、JMS 宛先に送信されます。

JMS の受信側には、(BouncyCastle を使用して) テキストの暗号化を解除しようとする単純な Java アプリケーションがあります。

これはすべて、Windows で魅力的に機能します。Linux では、次のようになります。

Java アプリ (Base64 でエンコード) によって受信されたときに暗号化されたテキストをログに記録しましたが、Linux と Windows の両方で同じです。キーは明らかに同じです。

文字セットエンコーディングの問題である可能性があると信じていましたが、-Dfile.encoding=UTF8 または -Dfile.encoding=windows-1252 オプションを使用して JBoss と Java アプリの両方を起動しても機能しませんでした。

暗号化に使用されるコード (ActionScript) は次のとおりです。

復号化に使用されるコードは次のとおりです (Java)。

前述のように、の内容はuserPin3DESBase64EncryptedLinux と Windows の両方で同じ (同じ Base64 文字列) であるため、問題は Flex/JBoss 側にあるはずはありません...

何か案は?

私が何度もやったように、机に頭をぶつけようとしているすべての人に前もって感謝します...

乾杯

ルカ