Learn how to parse XML using the SAX API
“A word to the wise ain’t necessary, it’s the stupid ones who need advice.”
― Bill Cosby
Java provides three APIs to parse XML in java: DOM, SAX and StAX. Each API fulfills different requirements, so it is important to know all three. The SAX API is useful particularly when you have large XML documents which you cannot loading using the DOM API. It is also useful when you have your own data structures and need to perform processing while parsing the XML. Let us get to know the SAX API.
Continue reading “Using the SAX API to Parse XML in Java”
Work with time and date using the date-time API, new in java 8.
“Never tell the truth to people who are not worthy of it.”
― Mark Twain
Java 8 provides a new package for date, time and calendar calculations as an improvement over the earlier Date and Calendar classes. This is called the Date-Time API. Let us learn how to use this API.
Continue reading “Introduction to Date Time API in Java 8”
Secure message authentication using a MAC generated from a secret key with a password.
“There is some good in this world, and it’s worth fighting for.” ― J.R.R. Tolkien, The Two Towers
A Message Authentication Code or a MAC provides a way to guarantee that a message (a byte array) has not been modified in transit. It is similar to a message digest to calculate a hash, but uses a secret key so that only a person with the secret key can verify the authenticity of the message.
Continue reading “Using HMac Sha256 for Message Authentication (MAC) in Java”
Encrypt a file using a password with strong AES security.
“My tastes are simple: I am easily satisfied with the best.”
― Winston S. Churchill
In a previous article, we have explained how to use AES for encryption and decryption. After encryption, the AES key will need to be communicated to the receiver via a secure channel for decrypting the file.
Continue reading “AES Encryption and Decryption Using a Password in Java”
Securely exchange a file with another person using RSA for encryption and digital signature to ensure authentication.
“To acquire knowledge, one must study;
but to acquire wisdom, one must observe.”
― Marilyn Vos Savant
We have previously covered using RSA for file encryption in java. We have also covered in a separate article the process of generating a digital signature for a file and verification using RSA. Let us now combine the two and develop a procedure for encrypting a file and generating a digital signature for exchange between two parties.
Continue reading “Encrypt and Sign a File Using RSA in Java”
AES can be used for encrypting the file and RSA for encrypting the AES key.
“The secret of education lies in respecting the pupil.”
― Ralph Waldo Emerson
In the previous part of this article, we covered the use of RSA for file encryption and decryption in java. Using RSA directly for file encryption will not work since it can only be used with small buffer sizes. In our particular case, with an RSA key size of 2048 bits, we ran into a limitation of a maximum of 245 bytes for the data size.
Continue reading “Using AES With RSA for File Encryption and Decryption in Java”
Use RSA for File Encryption and Decryption in Java
“If you can’t do anything about it, laugh like hell.”
― David Cook
RSA (Rivest–Shamir–Adleman) is an asymmetric encryption algorithm widely used in public-key cryptography today. The word asymmetric denotes the use of a pair of keys for encryption – a public key and a private key. When data is encrypted by one key, it can only be decrypted using the other key. The public key is publicized and the private key is kept secret.
Continue reading “File Encryption and Decryption using RSA in Java”
Learn how to use AES for encryption and decryption in Java
“There’s as many atoms in a single molecule of your DNA as there are stars in the typical galaxy. We are, each of us, a little universe.” ― Neil deGrasse Tyson, Cosmos
The Advanced Encryption Standard (AES) is a standard for encryption and decryption that has been approved by the U.S. NIST (National Institute of Standards and Technology) in 2001. It is more secure than the previous encryption standard DES (Data Encryption Standard) and 3DES (Triple-DES). You should be using AES for all symmetric encryption needs in preference to DES and 3DES (which are now deprecated).
Continue reading “How to Use AES for Encryption and Decryption in Java”
Learn how to get details of columns in an SQL query with JDBC.
An earlier article covered the basics of JDBC (Java DataBase Connectivity) and how to perform SQL queries on a MySQL database. Frequently, it is useful to obtain more information about the columns in a query. These include: the number of columns, column names and types, etc. Maybe you want to build a GUI table showing the results of a query, which requires the names of the columns and more. This article will show you how to retrive the information using JDBC.
Continue reading “JDBC – More About Columns in an SQL Query”
A simple tutorial showing the basics of using JDBC database API.
“A man’s true character comes out when he’s drunk.”
― Charlie Chaplin
JDBC stands for Java DataBase Connectivity and is the standard API (application programming interface) java provides for working with databases. JDBC, as a standard, is built into the java platform. To connect with and use a database, you need an additional component called a jdbc driver, which is specific to the type of database you are working with, such as MySQL, SQL Server, etc. In other words, the JDBC API consists of a small number of classes and a bunch of interfaces, the implementation provided by the actual database vendor. This is illustrated by the figure below.
Continue reading “JDBC MySQL Tutorial”