crypto-jsは、JavaScriptの開発者がテキストを暗号化するために使用します。使い方が簡単です。Javaのcrypto-jsライブラリから暗号化機能を実装する
var CryptoJS = require("crypto-js");
// Encrypt
var ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123');
// Decrypt
var bytes = CryptoJS.AES.decrypt(ciphertext.toString(), 'secret key 123');
var plaintext = bytes.toString(CryptoJS.enc.Utf8);
console.log(plaintext);
この例では暗号機能は2つだけmessageToEncrypt引数と塩を取っています。構成の残りの部分はその定義の内側にあります。私はjavascriptの男ではないので、見つけることが難しく、理解するの定義。
javaを使用して同じAES
暗号化を達成したいと思います。例えば、同じ入力引数の場合。 messageToEncryptとsalt私はcrypto-jsライブラリとJavaの実装を使用して同じ暗号化されたテキストを取得する必要があります。
私はjavax.crypto
をGoogleで試してみました。
String plainText = "messageToEncrypt";
String key = "mySalt";
SecretKey secKey = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.ENCRYPT_MODE, secKey);
byte[] x = aesCipher.doFinal(plainText.getBytes());
System.out.println(x);
しかし、keySizeやiterationCountなどの正確なパラメータはわかりませんが、これは私のためには機能しません。
私もhttps://github.com/mpetersen/aes-example/blob/master/src/main/java/org/cloudme/sample/aes/AesUtil.javaを使ってみましたが、もう一度keySizeとiterationCountについてわかりません。
Javaでcrypto-jsのAES暗号化を簡単に正確に実装する方法を教えてください。
https://stackoverflow.com/questions/992019/java-256-bit-aes-password-based-encryption – Lino