@@ -13,13 +13,16 @@ func encrypt(padding : Padding) {
1313
1414
1515 // 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)
16+ var key = [ Int8] ( repeating: 0 , count: 10 )
17+ let status = SecRandomCopyBytes ( kSecRandomDefault, key. count - 1 , & key)
18+ if status == errSecSuccess {
19+ let keyString = String ( cString: key)
20+ let ivString = getRandomIV ( )
21+ _ = try AES ( key: key, blockMode: CBC ( ) , padding: padding)
22+ _ = try AES ( key: keyString, iv: ivString)
23+ _ = try Blowfish ( key: key, blockMode: CBC ( ) , padding: padding)
24+ _ = try Blowfish ( key: keyString, iv: ivString)
25+ }
2326
2427 // ...
2528}
0 commit comments