@@ -3,20 +3,20 @@ func encrypt(padding : Padding) {
33 // ...
44
55 // BAD: Using constant salts for hashing
6- let salt : Array < UInt8 > = [ 0x2a , 0x3a , 0x80 , 0x05 ]
6+ let badSalt : Array < UInt8 > = [ 0x2a , 0x3a , 0x80 , 0x05 ]
77 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 )
1212
1313 // 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) } )
1515 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 )
2020
2121 // ...
2222}
0 commit comments