@@ -15,6 +15,7 @@ public enum BIP39Language {
1515 case french
1616 case italian
1717 case spanish
18+
1819 public var words : [ String ] {
1920 switch self {
2021 case . english:
@@ -109,7 +110,7 @@ public class BIP39 {
109110 }
110111
111112 public static func generateMnemonicsFromEntropy( entropy: Data , language: BIP39Language = . english) -> String ? {
112- guard entropy. count >= 16 , entropy. count & 4 == 0 else { return nil }
113+ guard entropy. count >= 16 , entropy. count & 4 == 0 else { return nil }
113114 let separator = language. separator
114115 let wordList = generateMnemonicsFrom ( entropy: entropy)
115116 return wordList. joined ( separator: separator)
@@ -141,7 +142,7 @@ public class BIP39 {
141142 }
142143
143144 public static func mnemonicsToEntropy( _ mnemonics: [ String ] , language: BIP39Language = . english) -> Data ? {
144- guard mnemonics. count >= 12 && mnemonics. count. isMultiple ( of: 3 ) && mnemonics. count <= 24 else { return nil }
145+ guard mnemonics. count >= 12 && mnemonics. count. isMultiple ( of: 3 ) && mnemonics. count <= 24 else { return nil }
145146 var bitString = " "
146147 for word in mnemonics {
147148 guard let idx = language. words. firstIndex ( of: word) else {
@@ -179,10 +180,10 @@ public class BIP39 {
179180 }
180181
181182 static private func dataFrom( mnemonics: String , password: String ) -> Data ? {
182- guard let mnemData = mnemonics. decomposedStringWithCompatibilityMapping. data ( using: . utf8) else { return nil }
183+ guard let mnemData = mnemonics. decomposedStringWithCompatibilityMapping. data ( using: . utf8) else { return nil }
183184 let salt = " mnemonic " + password
184- guard let saltData = salt. decomposedStringWithCompatibilityMapping. data ( using: . utf8) else { return nil }
185- guard let seedArray = try ? PKCS5 . PBKDF2 ( password: mnemData. bytes, salt: saltData. bytes, iterations: 2048 , keyLength: 64 , variant: HMAC . Variant. sha2 ( . sha512) ) . calculate ( ) else { return nil }
185+ guard let saltData = salt. decomposedStringWithCompatibilityMapping. data ( using: . utf8) else { return nil }
186+ guard let seedArray = try ? PKCS5 . PBKDF2 ( password: mnemData. bytes, salt: saltData. bytes, iterations: 2048 , keyLength: 64 , variant: HMAC . Variant. sha2 ( . sha512) ) . calculate ( ) else { return nil }
186187 return Data ( seedArray)
187188 }
188189
0 commit comments