Courseiva
hardMultiple ChoiceObjective-mapped

CISSP Practice Question: Uses a custom application that stores user…

An organization uses a custom application that stores user passwords using salted SHA-256 hashes. During a security audit, the auditor recommends migrating to a more secure password storage mechanism. Which of the following is the best recommendation?

⚠ Common exam trap

Candidates often confuse 'encryption' (reversible) with 'hashing' (one-way) and mistakenly choose AES-256 or database encryption, failing to recognize that password storage must use a slow, salted, one-way hashing algorithm specifically designed for credential protection.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Use bcrypt with a cost factor of 12

bcrypt is a deliberately slow, adaptive password hashing function that includes a built-in salt and a configurable cost factor. A cost factor of 12 makes each hash computation computationally expensive, effectively thwarting brute-force and GPU-based attacks. Unlike SHA-256, which is designed for speed and can be cracked rapidly with modern hardware, bcrypt's design inherently resists parallelization and ASIC/GPU acceleration.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Use plaintext with database encryption

    Why it's wrong here

    Storing passwords in plaintext, even within an encrypted database, is fundamentally insecure. While database encryption protects data at rest from unauthorized physical access, it offers no protection if the database server or the application accessing it is compromised. An attacker gaining access to the database or application memory would immediately retrieve all user credentials without needing to decrypt them, leading to widespread account compromise.

  • Use AES-256 encryption for passwords

    Why it's wrong here

    Using AES-256 encryption for passwords is inappropriate because encryption is a reversible process. While AES provides strong confidentiality, it requires a decryption key, which, if compromised, would allow an attacker to recover all original user passwords. Secure password storage mandates the use of irreversible cryptographic hashing functions, ensuring that even if the stored password representations are stolen, the actual passwords cannot be retrieved.

  • Use bcrypt with a cost factor of 12

    Why this is correct

    Bcrypt is an excellent choice for password storage because it is a deliberately slow, adaptive hashing algorithm designed to resist brute-force and rainbow table attacks. Its "cost factor" (or work factor) parameter, set at 12 in this case, controls the computational difficulty, making it expensive for attackers to test many passwords per second. This inherent slowness, combined with built-in salting, significantly enhances the security of stored passwords against modern cracking techniques, including those utilizing GPUs.

  • Use MD5 with a salt

    Why it's wrong here

    MD5 is cryptographically broken and entirely unsuitable for secure password hashing, even when combined with a salt. It is extremely fast to compute, making it highly susceptible to brute-force attacks, especially with modern hardware and GPU acceleration. Furthermore, MD5 is known to have significant collision vulnerabilities, which means different inputs can produce the same hash output, further compromising its integrity for security purposes.

  • Use PBKDF2 with 10,000 iterations

    Why it's wrong here

    While PBKDF2 is a strong Password-Based Key Derivation Function that uses iterations to increase computational cost against brute-force attacks, it is generally considered less resistant to modern GPU-based cracking than bcrypt. PBKDF2's design is primarily CPU-bound and not memory-hard, making it more efficient for attackers to parallelize on Graphics Processing Units. A higher iteration count like 10,000 improves security, but bcrypt's memory-hardness provides a superior defense against specialized password cracking hardware.

About these practice questions

Courseiva writes every CISSP question from scratch — 747 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This CISSP practice question is part of Courseiva's free ISC2 certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CISSP exam.