Câu hỏi phỏng vấn Hash Tables
Câu hỏi

What is MD5?

Câu trả lời

MD5, which stands for Message-Digest Algorithm 5, is a widely used cryptographic hash function that produces a 128-bit (16-byte) hash value from an input of any length. It was designed by Ronald Rivest in 1991 as an improvement over the earlier MD4 algorithm. The primary purpose of MD5 is to verify data integrity and authenticate digital signatures by generating a unique hash value for a given input.

Key Characteristics of MD5

  1. Fixed-Length Output: MD5 processes input data of any length and produces a fixed-length output of 128 bits, typically represented as a 32-character hexadecimal number[1][3][4].
  2. One-Way Function: It is computationally infeasible to reverse the hash value to retrieve the original input, making it a one-way function[1][2][3].
  3. Avalanche Effect: A small change in the input data results in a significantly different hash value, demonstrating the algorithm's sensitivity to input changes[1][2][4].
  4. Hash Collisions: Despite its initial design for security, MD5 is now considered cryptographically broken and unsuitable for further use due to its vulnerability to hash collisions, where two different inputs produce the same hash value[1][3][4][9].

Applications of MD5

  • Data Integrity Verification: MD5 is commonly used to verify the integrity of files and data. By comparing the hash of the original data with the hash of the received data, one can ensure that the data has not been altered[2][4][7].
  • Digital Signatures: It was originally intended for use in digital signature applications, where a large file must be securely compressed before encryption[3][9].
  • Non-Cryptographic Uses: Due to its vulnerabilities, MD5 is now primarily used for non-cryptographic purposes, such as checksums to detect unintentional data corruption[3][9].

Security Concerns

MD5 has signific...

middle

middle

Gợi ý câu hỏi phỏng vấn

expert

Why all hash functions are "broken"? Explain

middle

Explain in simple terms how Hash Tables are implemented?

junior

What is the difference between Hashing and Hash Tables?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào