вот мой код шифрования Java
try
{
FileInputStream fis = new FileInputStream(filePath);
FileOutputStream fos = new FileOutputStream(encryptedFilePath);
SecretKeySpec sks = new SecretKeySpec("secret_key_here".getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, sks);
CipherInputStream cis = new CipherInputStream(fis, cipher);
int b;
byte[] d = new byte[8];
while((b = cis.read(d)) != -1) {
fos.write(d, 0, b);
}
fos.flush();
fos.close();
cis.close();
}
catch( IOException | InvalidKeyException |NoSuchAlgorithmException | NoSuchPaddingException e)
{
System.out.println(e);
}
И я получаю зашифрованный файл по указанному пути, я могу расшифровать его в Android с помощью кода дешифрования.
, но когда яиспользуйте swift, чтобы расшифровать то же самое, файл не расшифровывается.
действительно ли возможно расшифровать файл, зашифрованный с помощью Java AES, и расшифровать с помощью swift.
Вот мой код быстрого шифрования
//fetching content from file
let fileContent = try! Data(contentsOf:urlPath!)
//secret key
let keyData = "secret_key_here"//same key for encryption
let data = Data(keyData.utf8)
//decrypting
let decryptedDta = AES.decrypt(fileContent, key: data)
//converting to string
let decryptedDta_String = String(decoding: decryptedDta!, as: UTF8.self)
//writing to file
let fileManager = FileManager.default
do {
let path = try fileManager.url(for: .documentDirectory, in: .allDomainsMask, appropriateFor: nil, create: false)
let fileURL = path.appendingPathComponent("newfile_1.xhtml")
print("fileURL == ",fileURL)
try decryptedDta_String.write(to: fileURL, atomically: true, encoding: .utf8)
} catch {
print("error creating file")
}
но файл все еще зашифрован.это действительно возможно?
мы можем расшифровать файл, который зашифрован с помощью Java AES, может быть расшифрован с помощью Swift?пожалуйста помогите