|
@@ -21,8 +21,9 @@ class CryptoSwiftTests: XCTestCase {
|
|
|
|
|
|
func testMD5() {
|
|
func testMD5() {
|
|
let data1:NSData = NSData(bytes: [0x31, 0x32, 0x33] as [Byte], length: 3) // "1", "2", "3"
|
|
let data1:NSData = NSData(bytes: [0x31, 0x32, 0x33] as [Byte], length: 3) // "1", "2", "3"
|
|
- var hash:NSData = data1.md5()
|
|
|
|
- XCTAssertEqual(hash.hexString, "202CB962AC59075B964B07152D234B70", "MD5 calculation failed");
|
|
|
|
|
|
+ if let hash = data1.md5() {
|
|
|
|
+ XCTAssertEqual(hash.hexString, "202CB962AC59075B964B07152D234B70", "MD5 calculation failed");
|
|
|
|
+ }
|
|
|
|
|
|
if let hash = "123".md5() {
|
|
if let hash = "123".md5() {
|
|
XCTAssertEqual(hash, "202CB962AC59075B964B07152D234B70", "MD5 calculation failed");
|
|
XCTAssertEqual(hash, "202CB962AC59075B964B07152D234B70", "MD5 calculation failed");
|
|
@@ -30,6 +31,8 @@ class CryptoSwiftTests: XCTestCase {
|
|
|
|
|
|
if let hash = "".md5() {
|
|
if let hash = "".md5() {
|
|
XCTAssertEqual(hash, "D41D8CD98F00B204E9800998ECF8427E", "MD5 calculation failed")
|
|
XCTAssertEqual(hash, "D41D8CD98F00B204E9800998ECF8427E", "MD5 calculation failed")
|
|
|
|
+ } else {
|
|
|
|
+ XCTAssert(false, "Hash for empty string is missing")
|
|
}
|
|
}
|
|
|
|
|
|
if let hash = "a".md5() {
|
|
if let hash = "a".md5() {
|
|
@@ -59,8 +62,9 @@ class CryptoSwiftTests: XCTestCase {
|
|
|
|
|
|
func testSHA1() {
|
|
func testSHA1() {
|
|
var data:NSData = NSData(bytes: [0x31, 0x32, 0x33] as [Byte], length: 3)
|
|
var data:NSData = NSData(bytes: [0x31, 0x32, 0x33] as [Byte], length: 3)
|
|
- var hash:NSData = data.sha1()
|
|
|
|
- XCTAssertEqual(hash.hexString, "40BD001563085FC35165329EA1FF5C5ECBDBBEEF", "SHA1 calculation failed");
|
|
|
|
|
|
+ if let hash = data.sha1() {
|
|
|
|
+ XCTAssertEqual(hash.hexString, "40BD001563085FC35165329EA1FF5C5ECBDBBEEF", "SHA1 calculation failed");
|
|
|
|
+ }
|
|
|
|
|
|
if let hash = "abc".sha1() {
|
|
if let hash = "abc".sha1() {
|
|
XCTAssertEqual(hash, "A9993E364706816ABA3E25717850C26C9CD0D89D", "SHA1 calculation failed")
|
|
XCTAssertEqual(hash, "A9993E364706816ABA3E25717850C26C9CD0D89D", "SHA1 calculation failed")
|
|
@@ -73,14 +77,16 @@ class CryptoSwiftTests: XCTestCase {
|
|
|
|
|
|
func testSHA224() {
|
|
func testSHA224() {
|
|
var data:NSData = NSData(bytes: [0x31, 0x32, 0x33] as [Byte], length: 3)
|
|
var data:NSData = NSData(bytes: [0x31, 0x32, 0x33] as [Byte], length: 3)
|
|
- var hash:NSData = data.sha224();
|
|
|
|
- XCTAssertEqual(hash.hexString, "78D8045D684ABD2EECE923758F3CD781489DF3A48E1278982466017F", "SHA224 calculation failed");
|
|
|
|
|
|
+ if let hash = data.sha224() {
|
|
|
|
+ XCTAssertEqual(hash.hexString, "78D8045D684ABD2EECE923758F3CD781489DF3A48E1278982466017F", "SHA224 calculation failed");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
func testSHA256() {
|
|
func testSHA256() {
|
|
var data:NSData = NSData(bytes: [0x31, 0x32, 0x33] as [Byte], length: 3)
|
|
var data:NSData = NSData(bytes: [0x31, 0x32, 0x33] as [Byte], length: 3)
|
|
- var hash:NSData = data.sha256()
|
|
|
|
- XCTAssertEqual(hash.hexString, "A665A45920422F9D417E4867EFDC4FB8A04A1F3FFF1FA07E998E86F7F7A27AE3", "SHA256 calculation failed");
|
|
|
|
|
|
+ if let hash = data.sha256() {
|
|
|
|
+ XCTAssertEqual(hash.hexString, "A665A45920422F9D417E4867EFDC4FB8A04A1F3FFF1FA07E998E86F7F7A27AE3", "SHA256 calculation failed");
|
|
|
|
+ }
|
|
|
|
|
|
if let hash = "Rosetta code".sha256() {
|
|
if let hash = "Rosetta code".sha256() {
|
|
XCTAssertEqual(hash, "764FAF5C61AC315F1497F9DFA542713965B785E5CC2F707D6468D7D1124CDFCF", "SHA256 calculation failed")
|
|
XCTAssertEqual(hash, "764FAF5C61AC315F1497F9DFA542713965B785E5CC2F707D6468D7D1124CDFCF", "SHA256 calculation failed")
|
|
@@ -89,8 +95,9 @@ class CryptoSwiftTests: XCTestCase {
|
|
|
|
|
|
func testSHA384() {
|
|
func testSHA384() {
|
|
var data:NSData = NSData(bytes: [49, 50, 51] as [Byte], length: 3)
|
|
var data:NSData = NSData(bytes: [49, 50, 51] as [Byte], length: 3)
|
|
- var hash = data.sha384()
|
|
|
|
- XCTAssertEqual(hash.hexString, "9A0A82F0C0CF31470D7AFFEDE3406CC9AA8410671520B727044EDA15B4C25532A9B5CD8AAF9CEC4919D76255B6BFB00F", "SHA384 calculation failed");
|
|
|
|
|
|
+ if let hash = data.sha384() {
|
|
|
|
+ XCTAssertEqual(hash.hexString, "9A0A82F0C0CF31470D7AFFEDE3406CC9AA8410671520B727044EDA15B4C25532A9B5CD8AAF9CEC4919D76255B6BFB00F", "SHA384 calculation failed");
|
|
|
|
+ }
|
|
|
|
|
|
if let hash = "The quick brown fox jumps over the lazy dog.".sha384() {
|
|
if let hash = "The quick brown fox jumps over the lazy dog.".sha384() {
|
|
XCTAssertEqual(hash, "ED892481D8272CA6DF370BF706E4D7BC1B5739FA2177AAE6C50E946678718FC67A7AF2819A021C2FC34E91BDB63409D7", "SHA384 calculation failed");
|
|
XCTAssertEqual(hash, "ED892481D8272CA6DF370BF706E4D7BC1B5739FA2177AAE6C50E946678718FC67A7AF2819A021C2FC34E91BDB63409D7", "SHA384 calculation failed");
|
|
@@ -99,8 +106,9 @@ class CryptoSwiftTests: XCTestCase {
|
|
|
|
|
|
func testSHA512() {
|
|
func testSHA512() {
|
|
var data:NSData = NSData(bytes: [49, 50, 51] as [Byte], length: 3)
|
|
var data:NSData = NSData(bytes: [49, 50, 51] as [Byte], length: 3)
|
|
- var hash = data.sha512()
|
|
|
|
- XCTAssertEqual(hash.hexString, "3C9909AFEC25354D551DAE21590BB26E38D53F2173B8D3DC3EEE4C047E7AB1C1EB8B85103E3BE7BA613B31BB5C9C36214DC9F14A42FD7A2FDB84856BCA5C44C2", "SHA512 calculation failed");
|
|
|
|
|
|
+ if let hash = data.sha512() {
|
|
|
|
+ XCTAssertEqual(hash.hexString, "3C9909AFEC25354D551DAE21590BB26E38D53F2173B8D3DC3EEE4C047E7AB1C1EB8B85103E3BE7BA613B31BB5C9C36214DC9F14A42FD7A2FDB84856BCA5C44C2", "SHA512 calculation failed");
|
|
|
|
+ }
|
|
|
|
|
|
if let hash = "The quick brown fox jumps over the lazy dog.".sha512() {
|
|
if let hash = "The quick brown fox jumps over the lazy dog.".sha512() {
|
|
XCTAssertEqual(hash, "91EA1245F20D46AE9A037A989F54F1F790F0A47607EEB8A14D12890CEA77A1BBC6C7ED9CF205E67B7F2B8FD4C7DFD3A7A8617E45F3C463D481C7E586C39AC1ED", "SHA512 calculation failed");
|
|
XCTAssertEqual(hash, "91EA1245F20D46AE9A037A989F54F1F790F0A47607EEB8A14D12890CEA77A1BBC6C7ED9CF205E67B7F2B8FD4C7DFD3A7A8617E45F3C463D481C7E586C39AC1ED", "SHA512 calculation failed");
|
|
@@ -110,7 +118,8 @@ class CryptoSwiftTests: XCTestCase {
|
|
|
|
|
|
func testCRC32() {
|
|
func testCRC32() {
|
|
var data:NSData = NSData(bytes: [49, 50, 51] as [Byte], length: 3)
|
|
var data:NSData = NSData(bytes: [49, 50, 51] as [Byte], length: 3)
|
|
- var crc = data.crc32()
|
|
|
|
- XCTAssertEqual(crc.hexString, "884863D2", "CRC32 calculation failed");
|
|
|
|
|
|
+ if let crc = data.crc32() {
|
|
|
|
+ XCTAssertEqual(crc.hexString, "884863D2", "CRC32 calculation failed");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|