mirror of
https://github.com/github/codeql.git
synced 2025-12-21 11:16:30 +01:00
QL code and tests for C#/C++/JavaScript.
This commit is contained in:
22
csharp/ql/src/Security Features/InsecureRandomness.cs
Normal file
22
csharp/ql/src/Security Features/InsecureRandomness.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System.Security.Cryptography;
|
||||
using System.Web.Security;
|
||||
|
||||
string GeneratePassword()
|
||||
{
|
||||
// BAD: Password is generated using a cryptographically insecure RNG
|
||||
Random gen = new Random();
|
||||
string password = "mypassword" + gen.Next();
|
||||
|
||||
// GOOD: Password is generated using a cryptographically secure RNG
|
||||
using (RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider())
|
||||
{
|
||||
byte[] randomBytes = new byte[sizeof(int)];
|
||||
crypto.GetBytes(randomBytes);
|
||||
password = "mypassword" + BitConverter.ToInt32(randomBytes);
|
||||
}
|
||||
|
||||
// GOOD: Password is generated using a cryptographically secure RNG
|
||||
password = Membership.GeneratePassword(12, 3);
|
||||
|
||||
return password;
|
||||
}
|
||||
Reference in New Issue
Block a user