D
D
DmitryProsh2016-08-19 15:36:06
Programming
DmitryProsh, 2016-08-19 15:36:06

What is the difference between checksum and hash?

Checksum, salt, hashing - are they all the same?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
R
RedHairOnMyHead, 2016-08-19
@DmitryProsh

A checksum is a value that can be obtained using some hash function (for example, MD5), and hashing is already a process of converting data using a hash function.

A
Alexey Skobkin, 2016-08-19
@skobkin

www.stackoverflow.com/a/460581

I would say that a checksum is necessarily a hashcode. However, not all hashcodes make good checksums.
A checksum has a special purpose --- it verifies or checks the integrity of data (some can go beyond that by allowing for error-correction). "Good" checksums are easy to compute, and can detect many types of data corruptions (eg one, two, three erroneous bits).

en.wikipedia.org/wiki/Checksum
Checksum functions are related to hash functions, fingerprints, randomization functions, and cryptographic hash functions. However, each of those concepts has different applications and therefore different design goals. Check digits and parity bits are special cases of checksums, appropriate for small blocks of data (such as Social Security numbers, bank account numbers, computer words, single bytes, etc.). Some error-correcting codes are based on special checksums that not only detect common errors but also allow the original data to be recovered in certain cases.

D
Dmitry Kovalsky, 2016-08-19
@dmitryKovalskiy

No, it's not the same thing.
Checksum - an algorithm for confirming the validity of data. For example, all bank cards are checked using the Luhn algorithm.
Salt - a set of any data to complicate the decryption process. For example, the password 123456 without a salt will be encrypted or hashed into the same sequence of characters and split with rainbow tables in a fraction of a second (even by eye it can be decrypted), but if you add some garbage and encrypt the message "123456figa1", "123456figa2" then the hash encryption result will be already varied. And if the salting algorithm is not a blockhead, it’s generally fine.
Hashing is the transformation of an array of data into a bit string. Learn

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question