Skip to content

Commit 2038bef

Browse files
authored
Merge branch 'main' into audit-suites
2 parents 4fb9a13 + 450046b commit 2038bef

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

csharp/src/security/CWE-328/WeakPasswordHashing.qhelp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<qhelp>
55
<overview>
66
<p>
7-
Using a insufficiently computationally hard hash function can leave data
8-
vulnerable, and should not be used for password hashing.
7+
Hash functions that are not sufficiently computationally hard can leave data vulnerable. You should not use such functions for password hashing.
98
</p>
109

1110
<p>
@@ -30,18 +29,18 @@
3029
</ul>
3130

3231
<p>
33-
All of MD5, SHA-1, SHA-2 and SHA-3 are weak against offline brute forcing, since they are not computationally hard.
32+
All of MD5, SHA-1, SHA-2 and SHA-3 are weak against offline brute forcing, since they are not sufficiently computationally hard. This includes SHA-224, SHA-256, SHA-384 and SHA-512, which are in the SHA-2 family.
3433
</p>
3534

3635
<p>
37-
Password hashing algorithms are designed to be slow and/or memory intenstive to compute, which makes brute force attacks more difficult.
36+
Password hashing algorithms should be slow and/or memory intensive to compute, to make brute force attacks more difficult.
3837
</p>
3938

4039
</overview>
4140
<recommendation>
4241

4342
<p>
44-
Ensure that for password storage you should use a computationally hard cryptographic hash function, such as:
43+
For password storage, you should use a sufficiently computationally hard cryptographic hash function, such as one of the following:
4544
</p>
4645

4746
<ul>
@@ -51,7 +50,9 @@
5150
<li>
5251
scrypt
5352
</li>
53+
<li>
5454
bcrypt
55+
</li>
5556
<li>
5657
PBKDF2
5758
</li>
@@ -61,7 +62,7 @@
6162
<example>
6263

6364
<p>
64-
The following examples show a function that hashes a password using a cryptographic hashing algorithm.
65+
The following examples show two versions of the same function. In both cases, a password is hashed using a cryptographic hashing algorithm.
6566

6667
In the first case the SHA-512 hashing algorithm is used. It is vulnerable to offline brute force attacks:
6768
</p>

0 commit comments

Comments
 (0)