On decryption, always overwrite encrypted file (input)
This commit is contained in:
parent
be2112b7bf
commit
ebab2cfa11
|
@ -11,7 +11,7 @@ index 0000000..81a9aea
|
||||||
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/BuildConfig.dex differ
|
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/BuildConfig.dex differ
|
||||||
diff --git a/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/RCTAes.dex b/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/RCTAes.dex
|
diff --git a/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/RCTAes.dex b/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/RCTAes.dex
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..7421a74
|
index 0000000..222c3a6
|
||||||
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/RCTAes.dex differ
|
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/RCTAes.dex differ
|
||||||
diff --git a/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/RCTCryptoPackage.dex b/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/RCTCryptoPackage.dex
|
diff --git a/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/RCTCryptoPackage.dex b/node_modules/react-native-simple-crypto/android/build/.transforms/21838d36631651375b93542b09ccc170/transformed/debug/com/pedrouid/crypto/RCTCryptoPackage.dex
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
|
@ -182,7 +182,7 @@ index 0000000..9e26dfe
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/compile_library_classes_jar/debug/classes.jar b/node_modules/react-native-simple-crypto/android/build/intermediates/compile_library_classes_jar/debug/classes.jar
|
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/compile_library_classes_jar/debug/classes.jar b/node_modules/react-native-simple-crypto/android/build/intermediates/compile_library_classes_jar/debug/classes.jar
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..8ec3fe7
|
index 0000000..1ccdabb
|
||||||
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/intermediates/compile_library_classes_jar/debug/classes.jar differ
|
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/intermediates/compile_library_classes_jar/debug/classes.jar differ
|
||||||
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/compile_r_class_jar/debug/R.jar b/node_modules/react-native-simple-crypto/android/build/intermediates/compile_r_class_jar/debug/R.jar
|
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/compile_r_class_jar/debug/R.jar b/node_modules/react-native-simple-crypto/android/build/intermediates/compile_r_class_jar/debug/R.jar
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
|
@ -2103,7 +2103,7 @@ index 0000000..99b9873
|
||||||
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/BuildConfig.class differ
|
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/BuildConfig.class differ
|
||||||
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/RCTAes.class b/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/RCTAes.class
|
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/RCTAes.class b/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/RCTAes.class
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..c004629
|
index 0000000..bc14b0c
|
||||||
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/RCTAes.class differ
|
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/RCTAes.class differ
|
||||||
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/RCTCryptoPackage.class b/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/RCTCryptoPackage.class
|
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/RCTCryptoPackage.class b/node_modules/react-native-simple-crypto/android/build/intermediates/javac/debug/classes/com/pedrouid/crypto/RCTCryptoPackage.class
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
|
@ -2257,7 +2257,7 @@ index 0000000..99b9873
|
||||||
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/BuildConfig.class differ
|
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/BuildConfig.class differ
|
||||||
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/RCTAes.class b/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/RCTAes.class
|
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/RCTAes.class b/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/RCTAes.class
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..c004629
|
index 0000000..bc14b0c
|
||||||
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/RCTAes.class differ
|
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/RCTAes.class differ
|
||||||
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/RCTCryptoPackage.class b/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/RCTCryptoPackage.class
|
diff --git a/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/RCTCryptoPackage.class b/node_modules/react-native-simple-crypto/android/build/intermediates/runtime_library_classes_dir/debug/com/pedrouid/crypto/RCTCryptoPackage.class
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
|
@ -3753,10 +3753,10 @@ index 0000000..8fc244a
|
||||||
+ INJECTED from /Users/diegomello/Development/Work/Rocket.Chat.ReactNative/node_modules/react-native-simple-crypto/android/src/main/AndroidManifest.xml
|
+ INJECTED from /Users/diegomello/Development/Work/Rocket.Chat.ReactNative/node_modules/react-native-simple-crypto/android/src/main/AndroidManifest.xml
|
||||||
diff --git a/node_modules/react-native-simple-crypto/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin b/node_modules/react-native-simple-crypto/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin
|
diff --git a/node_modules/react-native-simple-crypto/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin b/node_modules/react-native-simple-crypto/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..9b3f8a7
|
index 0000000..83e05fd
|
||||||
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin differ
|
Binary files /dev/null and b/node_modules/react-native-simple-crypto/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin differ
|
||||||
diff --git a/node_modules/react-native-simple-crypto/android/src/main/java/com/pedrouid/crypto/RCTAes.java b/node_modules/react-native-simple-crypto/android/src/main/java/com/pedrouid/crypto/RCTAes.java
|
diff --git a/node_modules/react-native-simple-crypto/android/src/main/java/com/pedrouid/crypto/RCTAes.java b/node_modules/react-native-simple-crypto/android/src/main/java/com/pedrouid/crypto/RCTAes.java
|
||||||
index 2b52abe..cf27df0 100644
|
index 2b52abe..12a7750 100644
|
||||||
--- a/node_modules/react-native-simple-crypto/android/src/main/java/com/pedrouid/crypto/RCTAes.java
|
--- a/node_modules/react-native-simple-crypto/android/src/main/java/com/pedrouid/crypto/RCTAes.java
|
||||||
+++ b/node_modules/react-native-simple-crypto/android/src/main/java/com/pedrouid/crypto/RCTAes.java
|
+++ b/node_modules/react-native-simple-crypto/android/src/main/java/com/pedrouid/crypto/RCTAes.java
|
||||||
@@ -1,55 +1,31 @@
|
@@ -1,55 +1,31 @@
|
||||||
|
@ -3869,7 +3869,7 @@ index 2b52abe..cf27df0 100644
|
||||||
public static String encrypt(String textBase64, String hexKey, String hexIv) throws Exception {
|
public static String encrypt(String textBase64, String hexKey, String hexIv) throws Exception {
|
||||||
if (textBase64 == null || textBase64.length() == 0) {
|
if (textBase64 == null || textBase64.length() == 0) {
|
||||||
return null;
|
return null;
|
||||||
@@ -133,4 +135,51 @@ public class RCTAes extends ReactContextBaseJavaModule {
|
@@ -133,4 +135,66 @@ public class RCTAes extends ReactContextBaseJavaModule {
|
||||||
return Base64.encodeToString(decrypted, Base64.NO_WRAP);
|
return Base64.encodeToString(decrypted, Base64.NO_WRAP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3910,7 +3910,22 @@ index 2b52abe..cf27df0 100644
|
||||||
+ throw ex;
|
+ throw ex;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ return "file://" + outputFileObj.getAbsolutePath();
|
+ if ("decrypt".equals(mode)) {
|
||||||
|
+ // Overwrite the input file with the decrypted file
|
||||||
|
+ try (FileInputStream fis = new FileInputStream(outputFileObj);
|
||||||
|
+ FileOutputStream fos = new FileOutputStream(inputFileObj)) {
|
||||||
|
+ byte[] buffer = new byte[BUFFER_SIZE];
|
||||||
|
+ int numBytesRead;
|
||||||
|
+
|
||||||
|
+ while ((numBytesRead = fis.read(buffer)) != -1) {
|
||||||
|
+ fos.write(buffer, 0, numBytesRead);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ outputFileObj.delete(); // Remove the temporary file after overwriting
|
||||||
|
+ return "file://" + normalizedInputFilePath;
|
||||||
|
+ } else {
|
||||||
|
+ return "file://" + outputFileObj.getAbsolutePath();
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static String encryptFile(String inputFile, String base64UrlKey, String base64Iv) throws Exception {
|
+ public static String encryptFile(String inputFile, String base64UrlKey, String base64Iv) throws Exception {
|
||||||
|
@ -4068,10 +4083,10 @@ index 72432fe..8a2020b 100644
|
||||||
+
|
+
|
||||||
@end
|
@end
|
||||||
diff --git a/node_modules/react-native-simple-crypto/ios/RCTCrypto/lib/Aes.m b/node_modules/react-native-simple-crypto/ios/RCTCrypto/lib/Aes.m
|
diff --git a/node_modules/react-native-simple-crypto/ios/RCTCrypto/lib/Aes.m b/node_modules/react-native-simple-crypto/ios/RCTCrypto/lib/Aes.m
|
||||||
index 4ef555a..2ca3e17 100644
|
index 4ef555a..6501791 100644
|
||||||
--- a/node_modules/react-native-simple-crypto/ios/RCTCrypto/lib/Aes.m
|
--- a/node_modules/react-native-simple-crypto/ios/RCTCrypto/lib/Aes.m
|
||||||
+++ b/node_modules/react-native-simple-crypto/ios/RCTCrypto/lib/Aes.m
|
+++ b/node_modules/react-native-simple-crypto/ios/RCTCrypto/lib/Aes.m
|
||||||
@@ -45,4 +45,65 @@
|
@@ -45,4 +45,73 @@
|
||||||
return [result base64EncodedStringWithOptions:0];
|
return [result base64EncodedStringWithOptions:0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4119,7 +4134,15 @@ index 4ef555a..2ca3e17 100644
|
||||||
+ [outputStream close];
|
+ [outputStream close];
|
||||||
+
|
+
|
||||||
+ if (status == kCCSuccess) {
|
+ if (status == kCCSuccess) {
|
||||||
+ return [NSString stringWithFormat:@"file://%@", outputFilePath];
|
+ if (operation == kCCDecrypt) {
|
||||||
|
+ NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||||
|
+ // Overwrite the input file with the decrypted file
|
||||||
|
+ [fileManager removeItemAtPath:normalizedFilePath error:nil];
|
||||||
|
+ [fileManager moveItemAtPath:outputFilePath toPath:normalizedFilePath error:nil];
|
||||||
|
+ return [NSString stringWithFormat:@"file://%@", normalizedFilePath];
|
||||||
|
+ } else {
|
||||||
|
+ return [NSString stringWithFormat:@"file://%@", outputFilePath];
|
||||||
|
+ }
|
||||||
+ } else {
|
+ } else {
|
||||||
+ // Clean up temp file in case of failure
|
+ // Clean up temp file in case of failure
|
||||||
+ [[NSFileManager defaultManager] removeItemAtPath:outputFilePath error:nil];
|
+ [[NSFileManager defaultManager] removeItemAtPath:outputFilePath error:nil];
|
||||||
|
|
Loading…
Reference in New Issue