2
ここに私のコードの暗号化部分があります。実行時にこの例外が発生すると失敗します。Java暗号を使用するとNoSuchAlgorithmExceptionが発生する
import java.util.Random;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
...
byte[] salt = new byte[8];
Random rand = new Random();
rand.nextBytes(salt);
PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBEWithSHAAndTwofish-CBC");
SecretKey key = keyFactory.generateSecret(keySpec);
PBEParameterSpec paramSpec = new PBEParameterSpec(salt, 1000);
Cipher cipher = Cipher.getInstance("PBEWithSHAAndTwofish-CBC");
cipher.init(Cipher.ENCRYPT_MODE, key, paramSpec);
byte[] ciphertext = cipher.doFinal(plaintext);
このアルゴリズムにはJava 1.5が付属していませんか?私は別のアルゴリズムを使用しても構いませんが、利用可能なアルゴリズムが分からないだけです。私は無力に働かせようと数日間苦労しているので、私はbouncycastleのような外部ライブラリを使う必要はないと思っています(私の.jarアプリケーションに "無効な署名ファイルダイジェスト"エラーを引き起こす) 。
あなたを祝福してください!これはまさに私が必要としていたものです。残念ですが、DESのような古いアルゴリズムを使う必要があるかもしれませんが、うまく動いているようですので、私の目的には十分です。ありがとう、ありがとうございます。 –
NSAがそこに入れたバックドアを除いて、AESはかなり良いです。 :blackhelicopters: – stimms