English Version - oaokm/Hash-Killer-V3 GitHub Wiki

What is Hash?

Hash is a mathematical function that takes inputs (such as text or data) and produces fixed-length outputs known as "hash values." Hash functions are used in many applications, such as storing passwords, verifying data integrity, and signing data.

How Hash Works

The way hash works is different from encryption; encryption involves two stages: the encryption stage and the decryption stage, while hash does not have the same property as there is no reverse operation, which distinguishes this function in the field of user and institutional security. There are many hash algorithms, including:

  1. MD5
  2. SHA1
  3. SHA-256
  4. SHA-224
  5. SHA-384
  6. SHA-512

hash V.S. encryption

Properties of Hash

There are at least five properties of hash functions:

  • Fixed Length: The hash maintains its length regardless of the length of the text or data being converted. For example, the SHA-256 function always produces a hash value of 256 bits, regardless of the size of the input data.
  • Irreversibility: It is difficult (if not impossible) to recover the original inputs from the hash value. This means that the operation cannot be reversed to obtain the original data from the hash value.
  • Collision: It is unlikely that different inputs will produce the same hash value. However, in some rare cases, a collision may occur (where different inputs can produce the same hash value). The hash function should be designed to minimize the likelihood of collisions.
  • Sensitivity: Any slight change in the inputs (even one bit) leads to a significant change in the hash value. This means that very similar inputs will produce completely different hash values.
  • Speed and Efficiency: The hash function should be fast and efficient in processing data, allowing for quick calculation of the hash value even with large amounts of data.

Brief Explanation of Hash Algorithms

MD5 (Message-Digest Algorithm 5)

MD5 is a hash algorithm used to create a hash value of 128 bits (16 bytes). It was developed in 1991 by Ron Rivest. It is commonly used to verify data integrity, such as checking the integrity of files during transmission.

SHA-1 (Secure Hash Algorithm 1)

SHA-1 is a hash algorithm that produces a hash value of 160 bits (20 bytes). It was developed by the National Security Agency (NSA) and published in 1995. It was used in many applications, including digital certificate signing and data integrity verification.

SHA-2 (Secure Hash Algorithm 2)

SHA-2 is a family of hash algorithms developed by the National Security Agency (NSA) and published in 2001. SHA-2 is considered an improvement over the SHA-1 algorithm.

SHA-224 (Secure Hash Algorithm 224)

SHA-224 is part of the SHA-2 family and produces a hash value of 224 bits (28 bytes). It is designed to be more secure than SHA-1. It is used in applications that require a higher level of security than SHA-1, such as digital signatures.

SHA-256 (Secure Hash Algorithm 256)

SHA-256 is a hash algorithm that produces a hash value of 256 bits (32 bytes). It is considered one of the most secure hash algorithms in the SHA-2 family. It is widely used in security applications, such as data encryption, digital certificate signing, and blockchain technologies (such as Bitcoin).

SHA-384 (Secure Hash Algorithm 384)

SHA-384 is a hash algorithm that produces a hash value of 384 bits (48 bytes). It is also part of the SHA-2 family. It is used in applications that require a higher level of security, such as digital signatures.

SHA-512 (Secure Hash Algorithm 512)

SHA-512 is a hash algorithm that produces a hash value of 512 bits (64 bytes). It is considered one of the strongest hash algorithms in the SHA-2 family. It is used in applications that require the highest level of security, such as data encryption and digital certificate signing.