@@ -3,20 +3,20 @@ func encrypt(padding : Padding) {
3
3
// ...
4
4
5
5
// BAD: Using constant salts for hashing
6
- let salt : Array < UInt8 > = [ 0x2a , 0x3a , 0x80 , 0x05 ]
6
+ let badSalt : Array < UInt8 > = [ 0x2a , 0x3a , 0x80 , 0x05 ]
7
7
let randomArray = ( 0 ..< 10 ) . map ( { _ in UInt8 . random ( in: 0 ... UInt8 . max) } )
8
- _ = try HKDF ( password: randomArray, salt: salt , info: randomArray, keyLength: 0 , variant: Variant . sha2)
9
- _ = try PKCS5 . PBKDF1 ( password: randomArray, salt: salt , iterations: 120120 , keyLength: 0 )
10
- _ = try PKCS5 . PBKDF2 ( password: randomArray, salt: salt , iterations: 120120 , keyLength: 0 )
11
- _ = try Scrypt ( password: randomArray, salt: salt , dkLen: 64 , N: 16384 , r: 8 , p: 1 )
8
+ _ = try HKDF ( password: randomArray, salt: badSalt , info: randomArray, keyLength: 0 , variant: Variant . sha2)
9
+ _ = try PKCS5 . PBKDF1 ( password: randomArray, salt: badSalt , iterations: 120120 , keyLength: 0 )
10
+ _ = try PKCS5 . PBKDF2 ( password: randomArray, salt: badSalt , iterations: 120120 , keyLength: 0 )
11
+ _ = try Scrypt ( password: randomArray, salt: badSalt , dkLen: 64 , N: 16384 , r: 8 , p: 1 )
12
12
13
13
// GOOD: Using randomly generated salts for hashing
14
- let salt = ( 0 ..< 10 ) . map ( { _ in UInt8 . random ( in: 0 ... UInt8 . max) } )
14
+ let goodSalt = ( 0 ..< 10 ) . map ( { _ in UInt8 . random ( in: 0 ... UInt8 . max) } )
15
15
let randomArray = ( 0 ..< 10 ) . map ( { _ in UInt8 . random ( in: 0 ... UInt8 . max) } )
16
- _ = try HKDF ( password: randomArray, salt: salt , info: randomArray, keyLength: 0 , variant: Variant . sha2)
17
- _ = try PKCS5 . PBKDF1 ( password: randomArray, salt: salt , iterations: 120120 , keyLength: 0 )
18
- _ = try PKCS5 . PBKDF2 ( password: randomArray, salt: salt , iterations: 120120 , keyLength: 0 )
19
- _ = try Scrypt ( password: randomArray, salt: salt , dkLen: 64 , N: 16384 , r: 8 , p: 1 )
16
+ _ = try HKDF ( password: randomArray, salt: goodSalt , info: randomArray, keyLength: 0 , variant: Variant . sha2)
17
+ _ = try PKCS5 . PBKDF1 ( password: randomArray, salt: goodSalt , iterations: 120120 , keyLength: 0 )
18
+ _ = try PKCS5 . PBKDF2 ( password: randomArray, salt: goodSalt , iterations: 120120 , keyLength: 0 )
19
+ _ = try Scrypt ( password: randomArray, salt: goodSalt , dkLen: 64 , N: 16384 , r: 8 , p: 1 )
20
20
21
21
// ...
22
22
}
0 commit comments