Learning by Example: checksum

In this lesson, you will learn how to generate the checksum of a string.

ChecksumAccumulator

To understand the concepts of the next lesson, we will be using Martin Ordersky’s (inventor of Scala) ChecksumAccumulator program. Before we move on, let’s briefly go over checksum.

Checksum

A checksum is a string of characters consisting of numbers and letters. It acts as a fingerprint for files and messages and is used to ensure the file or message you have received is genuine and error free. To do so, you create a checksum of the file you have received and compare it to the checksum of the source file. Even the most minor of changes will result in a completely different checksum.

For the scope of this course, we will be generating a checksum of a string.

The ChecksumAccumulator Class

The ChecksumAccumulator class has a single private field value sum, which is initialized to 0. It further has two methods, namely add, which is adding the bytes of a string, and checksum which is calculating the final checksum. checksum first uses the bitwise operator & with the final sum and the hexadecimal 0xFF. It then takes the result of the & operator and applies another bitwise operator to it ~. Finally, it adds a 1 to the result of the ~ operator, resulting in the final checksum value.

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy