Skip to content
This repository has been archived by the owner on Oct 30, 2024. It is now read-only.
/ FileCrypt Public archive

An opensource AES-128 bit encryption tool for android.

License

Notifications You must be signed in to change notification settings

mr-ravin/FileCrypt

Repository files navigation

FileCrypt

FileCrypt Logo

FileCrypt is an opensource android application able to perform AES-128 bit encryption on all types of files.

Application Developer: Ravin Kumar

Steps to follow, for android target sdk 33-

1. After Installation, provide the File and Media permission, otherwise app will crash at startup.
2. Encrypted file will be stored inside Documents folder with name FileCrypt_filename.
3. Decrypted file will be stored inside Documents folder with original filename.

Steps to follow, for android target sdk 29-

1. After Installation, provide the File and Media permission, otherwise app will crash at startup.
2. Encrypted file will be stored extension of ".filecrypt".
3. Decrypted file will be stored with original filename.

Note- This app does not delete or remove the input file used for encryption or decryption; Instead, this app writes the file generated after encryption/decryption operation.


Algorithm Detail: AES-128 bit (using AES/CBC/PKCS5Padding and PBKDF2WithHmacSHA1)
  1. Download FileCrypt from Google PlayStore, Target SDK=33:
Target OS Details Number
Android OS Version 13
Android Target SDK 33
API Levels 26+

  1. Download FileCrypt from Google PlayStore, Target SDK=29:
Target OS Details Number
Android OS Version 10
Android Target SDK 29
API Levels 16+


Working Demonstration:

Working Demonstration

android application view 1

android application view 2

Working Android Application Video

The working demonstration of FileCrypt is available at Youtube.

Note: This android application uses AES-128 bit for encryption which is considered good for general purpose use, please do consult a security expert regarding your required security standards.

App parameter related details:

Iteration: increasing the value will increase the security, select it based on the computation power of your device.
People often select it around 100,000.
Note: In case you set your own Iteration value please do remember it, as for decryption this parameter must be same as that of used during encryption.
Note: In the source code, the code of RealPathUtil.java is taken from link, which was made opensourced by Merab Tato Kutalia. This file is used to retrieve file path from uri.
Copyright (c) 2019-2023 Ravin Kumar
Website: https://mr-ravin.github.io

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation 
files (theSoftware”), to deal in the Software without restriction, including without limitation the rights to use, copy, 
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the 
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the 
Software.

THE SOFTWARE IS PROVIDEDAS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.