Эх сурвалжийг харах

Add convenient Digest.sha2(bytes:variant:)

Marcin Krzyżanowski 8 жил өмнө
parent
commit
2a818142fe

+ 13 - 4
Sources/CryptoSwift/Digest.swift

@@ -30,30 +30,39 @@ public struct Digest {
     /// - parameter bytes: input message
     /// - returns: Digest bytes
     public static func sha224(_ bytes: Array<UInt8>) -> Array<UInt8> {
-        return SHA2(variant: .sha224).calculate(for: bytes)
+        return sha2(bytes, variant: .sha224)
     }
 
     /// Calculate SHA2-256 Digest
     /// - parameter bytes: input message
     /// - returns: Digest bytes
     public static func sha256(_ bytes: Array<UInt8>) -> Array<UInt8> {
-        return SHA2(variant: .sha256).calculate(for: bytes)
+        return sha2(bytes, variant: .sha256)
     }
 
     /// Calculate SHA2-384 Digest
     /// - parameter bytes: input message
     /// - returns: Digest bytes
     public static func sha384(_ bytes: Array<UInt8>) -> Array<UInt8> {
-        return SHA2(variant: .sha384).calculate(for: bytes)
+        return sha2(bytes, variant: .sha384)
     }
 
     /// Calculate SHA2-512 Digest
     /// - parameter bytes: input message
     /// - returns: Digest bytes
     public static func sha512(_ bytes: Array<UInt8>) -> Array<UInt8> {
-        return SHA2(variant: .sha512).calculate(for: bytes)
+        return sha2(bytes, variant: .sha512)
     }
 
+    /// Calculate SHA2 Digest
+    /// - parameter bytes: input message
+    /// - parameter variant: SHA-2 variant
+    /// - returns: Digest bytes
+    public static func sha2(_ bytes: Array<UInt8>, variant: SHA2.Variant) -> Array<UInt8> {
+        return SHA2(variant: variant).calculate(for: bytes)
+    }
+
+
     /// Calculate SHA3 Digest
     /// - parameter bytes: input message
     /// - parameter variant: SHA-3 variant

+ 1 - 0
Tests/CryptoSwiftTests/Access.swift

@@ -50,6 +50,7 @@ class Access: XCTestCase {
         let _ = array.sha256()
         let _ = array.sha384()
         let _ = array.sha512()
+        let _ = array.sha2(.sha224)
         let _ = array.sha3(.sha224)
         let _ = array.crc32()
         let _ = array.crc16()