All projects are completely ready for compilation in Android Studio. Applications were tested on Android 10. Projects contain all the included libraries (if required) and very detailed comments.
Ready-made application projects - provide a good start for beginner Java programmers for Android. The GNU GPL license allows you to create your own commercial and non-commercial applications. At the same time, no payments for the use of ready-made projects are required - this is Open Source
Encryption application projects use the ASE and RSA protocols. This is a very interesting direction for programming. The protection of commercial data is still not fully ensured. Hackers regularly steal financial data or personal data of customers.And here it is impossible to completely solve the problem if only data encryption is used. Theft of your site software, server or code injection will open access to important information.
Encryption of internal links, scripts, code - will make it extremely difficult to hack the company's software, making it financially unprofitable. Encryption slows down data processing. Yes, it slows down. But for smaller firms, there are less expensive solutions to compensate for slowdowns. In doing so, they can avoid financial or reputational ruin.
Open Source Code (Full Android Studio Java PROJECTS)
AudioREG_ENG.ZIP >> - Audio Registrar Source Code
CryptoNote_password_OK.ZIP >> - Crypto Note Source Code
CryptoNOTE_AES.ZIP >> - AES Crypto Note Source Code
RSA Crypto Project >> - RSA Keys, encoding, decodind
AES Crypto Project >> - AES Crypto Note Source Code
PhotoREGISTRAR >> - Photo Registrar with FTP Client
GNU GPL Valery Shmelev
Complete Android Studio projects Java applications for smartphones. Everything is compiled into working applications. Full comments, full source code. All libraries are included (if used).
An excellent base for developing your own photo and audio recorders, cryptographic systems.
RSA encryption uses a 1024 bit key. You can easily change to a 2048 bit key. This is a very strong encryption with a certified algorithm.
To debug projects, you must use real smartphones, because code used API levels 29, 30, 31. The smartphone app in Android Studio does not support this level of API. There are a lot of descriptions on the Internet on how to connect a real smartphone to Android Studio for debugging. It's very simple.
Unlike assembler, Java has fewer opportunities for code obfuscation. But you can not encrypt the entire code, but encrypt the data used by your application and the code in memory. Those. even if your code is copied from the server, it will not be possible to completely open it. This is a very interesting task. And here "standard" solutions play poorly. We need a creative programmer who can invent unusual methods of hiding code. Of course, publishing such things for everyone should not be.
I used Samsung M21
All applications are very interesting for programming. And can be used for commercial purposes. New Android Open Source projects are published regularly
These Open Source projects allow you to gain an advantage. You can write a real application faster if this project is 90% or more.
Freelance
You can get and use special Java classes for RSA and AES encryption in corporate or commercial Android applications. This is 100% source code.
Your programmers can view each line of Java class code with comments, get examples and guidance. Java classes are provided with technical consulting.
You can start using encryption in applications within 1 hour. For example, write critical data from a client Android device to a database on a corporate server with preliminary decryption or in encrypted form. Ensure the operation of your messengers or mail with encryption. Protect encryption keys with special methods, etc.
RSA Encryption >>>>
The RSA algorithm allows you to seriously protect data and store it in the database in encrypted form.
Such encryption will make it pointless to steal data. It will make the accumulation of personal data of customers safe.
//==========================================================
// ReGenerate Public and Private Keys
//==========================================================
public Key[] RSAKeyReGenerate(String publicstr, String prvatestr) {
byte[] publicKeyBytes = Base64.decode(publicstr, Base64.DEFAULT); //Convert Public Key String to Byte Array
byte[] privateKeyBytes = Base64.decode(prvatestr, Base64.DEFAULT); //Convert Private Key String to Byte Array
String ReturnCode = "Restore Keys OK";//String RSAKeyReGenerate Code
Key[] KeyMass = new Key[2];
// Generate Restored Public Key
try {
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(publicKeyBytes);
EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(privateKeyBytes);
Key privateKey = keyFactory.generatePrivate(privateKeySpec);
Key publicKey = keyFactory.generatePublic(publicKeySpec);
KeyMass[0] = publicKey;
KeyMass[1] = privateKey;
Log.d(LOG_TAG, "== == RSA Publik and Privatekey Keys Full RESTORED == == " + KeyMass[0] + " " + KeyMass[1]);
ReturnCode = "RSAKeyReGenerate.RSA Key pair Full RESTORED";
} catch (Exception e) {
Log.e("Crypto", "== == RSA key pair error == ==");
ReturnCode = "RSAKeyReGenerate.RSA key pair error";
}
return KeyMass;
}
//==========================================================
One of the class methods for working with RSA encryption. Method for restoring private and public keys after reading from a file. Obfuscation for the private key was not used.
The Android Java class contains methods for generating key pairs, converting keys for storage or forwarding, obfuscation, encryption, decryption, writing to a file, reading from a file, checking the crypto provider.
Obfuscation methods are created differently for each client. It's a very creative process.
Programmer Feedback >>>>
End-to-end encryption of data from the client Android device to the record fields in the corporate server database. Creation of "non-retrievable" records in a database (eg MS SQL).
RSA Messenger
An interesting task is an SMS messenger with RSA encryption. Such a messenger does not use centralized servers that would store personal data. Only the cellular provider is used. In this case, you can use strong asymmetric encryption, which is slower, but more reliable.
The exchange of public keys is carried out via SMS, then the texts are encrypted using the RSA algorithm and placed in regular SMS messages.
RSA Encryption >>>>
Let's write Java code for receiving and sending SMS. First, the code for receiving SMS. This code really works. Tested on Android 10
SMS receiver >>>>
Thus, you can get the public key for RSA encryption and encrypted data. It will be necessary to provide for the division of SMS into parts for a large data size.
Java Unicode >>>>
Support for national alphabets - converting text to Unicode and Unicode to text. Full examples for Android 10
Android SQLite >>>>
Simple examples for working with SQLite in Android 10. Next, let's add examples of SQLite requests, RSA encryption, database synchronization.
A Java code for methods for RSA encryption of large texts (10-20 times the key size) has been written and is being tested. It is possible to use methods for working with the SQLite data base
Block encryption is used.