diff --git a/Argon2Swift.podspec b/Argon2Swift.podspec index 29a607c..9bcea10 100644 --- a/Argon2Swift.podspec +++ b/Argon2Swift.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |spec| # spec.name = "Argon2Swift" - spec.version = "1.0.2" + spec.version = "1.0.4" spec.summary = "A Swift wrapper around the Argon2 reference implementation." spec.swift_version = "5.0" @@ -81,7 +81,7 @@ Pod::Spec.new do |spec| 'Sources/Argon2/src/blake2-impl.h' spec.source_files = - 'Sources/**/*.swift', + 'Sources/Swift/*.swift', 'Sources/Argon2Swift.h', 'Sources/Argon2/src/argon2.c', 'Sources/Argon2/src/core.{c,h}', diff --git a/Argon2Swift.xcodeproj/project.pbxproj b/Argon2Swift.xcodeproj/project.pbxproj index 3dbdd96..4462dd2 100644 --- a/Argon2Swift.xcodeproj/project.pbxproj +++ b/Argon2Swift.xcodeproj/project.pbxproj @@ -22,6 +22,7 @@ /* Begin PBXBuildFile section */ A44E754B25EC75ED00137A6F /* core.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_14 /* core.c */; }; + A47CA85929C0F79B00871A20 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; OBJ_44 /* argon2.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_10 /* argon2.c */; }; OBJ_46 /* blake2b.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* blake2b.c */; }; OBJ_48 /* encoding.c in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* encoding.c */; }; @@ -35,7 +36,6 @@ OBJ_66 /* Argon2Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* Argon2Version.swift */; }; OBJ_67 /* Salt.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_32 /* Salt.swift */; }; OBJ_69 /* Argon2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Argon2Swift::Argon2::Product" /* Argon2.framework */; }; - OBJ_76 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; OBJ_87 /* Argon2SwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_34 /* Argon2SwiftTests.swift */; }; OBJ_89 /* Argon2Swift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Argon2Swift::Argon2Swift::Product" /* Argon2Swift.framework */; }; OBJ_90 /* Argon2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "Argon2Swift::Argon2::Product" /* Argon2.framework */; }; @@ -92,7 +92,7 @@ OBJ_31 /* Argon2Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Argon2Version.swift; sourceTree = ""; }; OBJ_32 /* Salt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Salt.swift; sourceTree = ""; }; OBJ_34 /* Argon2SwiftTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Argon2SwiftTests.swift; sourceTree = ""; }; - OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; + OBJ_6 /* Package.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -354,7 +354,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_76 /* Package.swift in Sources */, + A47CA85929C0F79B00871A20 /* Package.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/README.md b/README.md index 219995c..402c5d2 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ pod Argon2Swift ## Installation (SPM) -Argon2Swift can be installed via SPM (Swift Package Mangeer) by adding the following to your depencencies: +Argon2Swift can be installed via SPM (Swift Package Manger) by adding the following to your depencencies: ```swift .package(url: "https://github.com/tmthecoder/Argon2Swift.git", .branch("main")) diff --git a/Sources/Swift/Salt.swift b/Sources/Swift/Salt.swift index 7deb149..38db24f 100644 --- a/Sources/Swift/Salt.swift +++ b/Sources/Swift/Salt.swift @@ -5,13 +5,12 @@ import Foundation -import Security /// A class to wrap around Salts in argon2. allowing cryptographically secure generation of salts as well as utilization of premade salts public class Salt { /// The byte-array that the salt class wraps around - let bytes: Data + public let bytes: Data /** Initializes a new `Salt` object with the provided byte array @@ -30,15 +29,7 @@ public class Salt { - Returns: A `Salt` object containing a random byte array of the specified length */ public static func newSalt(length: Int = 16) -> Salt { - // Set a byte array - var bytes = [UInt8](repeating: 0, count: length) - // Set random generated numbers to the byte array - let status = SecRandomCopyBytes(kSecRandomDefault, bytes.count, &bytes) - // Ensure the copy was a success - if status != errSecSuccess { - fatalError("SecRandomCopyBytes failed with error code: \(status)") - } - // Return the salt + let bytes = Array((0.. [XCTestCaseEntry] { + return [ + testCase(Argon2SwiftTests.__allTests__Argon2SwiftTests), + ] +} +#endif