Video encryption and decryption

sanjibnanda

Active Member
Licensed User
Longtime User
What size are these files?
If they are not too large then you can read each file to a bytes array and then encrypt the array.

This writes 0 to file sdcard.. , the file size is 1171 kb.. plz find where I am wrong..

B4X:
'Activity module
Sub Process_Globals
   'These global variables will be declared once when the application starts.
   'These variables can be accessed from all modules.
    Dim password As String
    password = 123456

End Sub

Sub Globals
   'These global variables will be redeclared each time the activity is created.
   'These variables can only be accessed from this module.

   Dim Decrypt As Button
   Dim Encrypt As Button
End Sub


Sub Activity_Create(FirstTime As Boolean)
    If File.Exists(File.DirRootExternal, "splash.mp4") = False Then
      File.Copy(File.DirAssets, "splash.mp4", File.DirRootExternal, "splash_copied.mp4")
   End If
   Activity.LoadLayout("layout")
   
End Sub

 Sub EncryptFunction
 
   Dim InputStream1 As InputStream
    InputStream1 = File.OpenInput(File.DirRootExternal, "splash_copied.mp4")
    
   Dim OutputStream1 As OutputStream
    OutputStream1.InitializeToBytesArray(1000)
    
   File.Copy2(InputStream1, OutputStream1)
    
   Dim Buffer() As Byte
    Buffer = OutputStream1.ToBytesArray
   
   Dim output As RandomAccessFile
   output.Initialize(File.DirRootExternal, "splash_en.mp4", False)
   output.WriteEncryptedObject(Buffer, "password", output.CurrentPosition)
   
   InputStream1.Close
   OutputStream1.Close
    output.Close
   ToastMessageShow("Done!", False)
 End Sub
 
 Sub DecryptFunction
    
   Dim raf As RandomAccessFile
    raf.Initialize(File.DirRootExternal, "splash_en.mp4", False)
    Dim text1 As String
    text1 = raf.ReadEncryptedObject(password, raf.CurrentPosition)
    Log(text1)
    raf.Close
   
   
   
   Dim input As RandomAccessFile
   Dim Buffer() As Byte
   input.Initialize(File.DirRootExternal, "splash_en.mp4", True)
   Buffer = input.ReadEncryptedObject("password", input.CurrentPosition)
   
   Dim InputStream1 As InputStream
   InputStream1.InitializeFromBytesArray(Buffer, 0, Buffer.Length)
   
   InputStream1.Close
   input.Close
   ToastMessageShow("Done!", False)
End Sub


Sub Encrypt_Click
   EncryptFunction
End Sub
Sub Decrypt_Click
   DecryptFunction
End Sub
 
Upvote 0
Top