私は、Blowfish ECB暗号化とcipherMode 0、出力1を使用する必要があるクライアントを抱えています。コードを修正するにはどうしたらいいですか?ここでBlowfish ECB暗号化(C#実装)
は、完全なクライアント命令は、次のとおりです。
アルゴリズム:フグ ・モード:ECB ・パディング:我々はECBモードを使用しているため *初期ベクトルをPKCS5Paddingは不要です。
例 ・キー暗号化:99:3280:テキスト→2fs5uhnjcnpxcpg9 を20120201123050 暗号文→:daa745f1901364c0bd42b9658db3db96336758cd34b2a576 は* 16進数文字で暗号文を保管してください。 *「salt」を含まない暗号テキストを生成してください。
私はこれをC#で記述する必要があります。ここに私がやったことだが、それが動作していないようです:
string member_id = "3280";
string panelType = "99";
string RandomString = "20120201123050";
string encryptionKey = "2fs5uhnjcnpxcpg9";
string cryptstr = member_id + ":" + panelType + ":" + RandomString;
string plainText = cryptstr;
BlowFish b = new BlowFish(encryptionKey);
string cipherText = b.Encrypt_ECB("3280:99:20120201123050");
結果がdaa745f1901364c0bd42b9658db3db96336758cd34b2a576ではありません。どこで私は間違えましたか?
これは、最悪のセキュリティ賢明です!ブローフィッシュの作者でさえ、それをこれ以上使用することはなく、今ではAESを使用しています。 ECBモードを使用しないでください。安全ではありません。[ECBモード](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_Codebook_.28ECB.29)を参照して、ペンギンまでスクロールしてください。 – zaph
Blowfishクラスを取得するために、何をインポートしていますか?そして、あなたがパディングのために何かを設定するのを見ることができないので、Blowfishクラスが入っているライブラリのドキュメントが使用しているというデフォルトは何ですか? –
最終的にセキュリティを更新する時期です.AESは15年間利用可能です。クライアントは実際には努力して、もう15年待つのはばかげているはずです。 – zaph