0
こんにちはみんな、復号化音声ファイルの内容
私は、Androidでファイルの内容を暗号化し、サーバーにアップロードして、NodeJSサービスとそれを解読するために必要なプロジェクトに取り組んでいます。
JavaとNodeJSのAESに基づいたいくつかのプロジェクトを見て、NodeJSではなくJavaで機能するものを見つけました。
public static String encrypt(String encodeKey, String inputFile) throws Exception {
byte[] input = getStringFromFile(inputFile).toString().getBytes("utf-8");
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] thedigest = md.digest(encodeKey.getBytes("UTF-8"));
SecretKeySpec skc = new SecretKeySpec(thedigest, "AES/ECB/PKCS5Padding");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, skc);
byte[] cipherText = new byte[cipher.getOutputSize(input.length)];
int ctLength = cipher.update(input, 0, input.length, cipherText, 0);
String data = Base64.encodeToString(cipherText, Base64.DEFAULT);
Log.d("Crypto | Length", String.valueOf(ctLength));
Log.d("Crypto | Keypass", encodeKey);
return data;
}
そしてNodeJSのコード:
var
decipher = crypto.createDecipher('aes-128-ecb', encryption_key),
chunks = [];
chunks.push(decipher.update(new Buffer(fullBuffer, "base64").toString("binary")));
chunks.push(decipher.final('binary'));
var decrypted = chunks.join("");
あなたが見ることができるように、私が作成していたファイルのそれぞれについて、ここで
は、Javaのコードですsaltのための新しいkey-hash(復号化と暗号化の場合と同じです)。
デジタル封筒ルーチン:EVP_DecryptFinal_ex:間違った最後のブロック長あなたが上がらない
を呼び出すことができますこれは、アップデートの一部であるか、またはそれに置き換える必要がありますか? –
がそれに置き換えられました。 –