We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 843640c commit 03ef18bCopy full SHA for 03ef18b
swift/ql/src/queries/Security/CWE-321/HardcodedEncryptionKey.swift
@@ -13,13 +13,16 @@ func encrypt(padding : Padding) {
13
14
15
// GOOD: Using randomly generated keys for encryption
16
- let key = (0..<10).map({ _ in UInt8.random(in: 0...UInt8.max) })
17
- let keyString = String(cString: key)
18
- let ivString = getRandomIV()
19
- _ = try AES(key: key, blockMode: CBC(), padding: padding)
20
- _ = try AES(key: keyString, iv: ivString)
21
- _ = try Blowfish(key: key, blockMode: CBC(), padding: padding)
22
- _ = try Blowfish(key: keyString, iv: ivString)
+ var key = [Int8](repeating: 0, count: 10)
+ let status = SecRandomCopyBytes(kSecRandomDefault, key.count, &key)
+ if status == errSecSuccess {
+ let keyString = String(cString: key)
+ let ivString = getRandomIV()
+ _ = try AES(key: key, blockMode: CBC(), padding: padding)
+ _ = try AES(key: keyString, iv: ivString)
23
+ _ = try Blowfish(key: key, blockMode: CBC(), padding: padding)
24
+ _ = try Blowfish(key: keyString, iv: ivString)
25
+ }
26
27
// ...
28
}
0 commit comments