暗号化するためにcrypto js tripleDESを使用すると、暗号化する文字列の長さがすべて「01」、「111」、 5000021234567890000 "、出力が正しくないか、私が期待している値ではありません。 は、例えば、この"5000021234567890000"のために、私はこれを期待しています:"HctDaKc/U9avOwZMSS5mEi62kfojDHA4"を私が代わりにこれを取得:HctDaKc/U9bNnFy6eZHqHj3SemorJxQM。Crypto JS:TripleDESが適切に暗号化されていない
これは私が見つけたコードであると
let key = CryptoJS.MD5(enckey);
key.words[4] = key.words[0];
key.words[5] = key.words[1];
let iv = CryptoJS.lib.WordArray.create(64/8);
CryptoJS.TripleDES.encrypt("5000021234567890000", key, {iv: iv});
を暗号化するために使用してあなたの助けが非常に高く評価されるだろう。
が、それはもはや安全であると考えられ、代わりに使用AES(高度暗号化規格) 。 – zaph
ありがとうございますが、私は暗号化方式を変更する権限がありません。私は単純に要件を満たしています –
ちょっとしたコードを考えてみましょう:1つのインスタンスがCBCモードを使用していて、もう1つがECBモードを使用しています。モード。明示的に暗号化モードを提供する方が常に良いです。また、ほとんどの状況で廃止予定の2キー3DESを使用しているようです。 – zaph