Przeglądaj źródła

Fix tests accordingly to addPadding/removePadding change. #24

Marcin Krzyżanowski 10 lat temu
rodzic
commit
736eaf4ff7
2 zmienionych plików z 14 dodań i 12 usunięć
  1. 7 7
      CryptoSwiftTests/AESTests.swift
  2. 7 5
      README.md

+ 7 - 7
CryptoSwiftTests/AESTests.swift

@@ -22,7 +22,7 @@ class AESTests: XCTestCase {
         let expected:[Byte] = [0xae,0x8c,0x59,0x95,0xb2,0x6f,0x8e,0x3d,0xb0,0x6f,0x0a,0xa5,0xfe,0xc4,0xf0,0xc2];
         
         if let aes = AES(key: NSData.withBytes(key), iv: NSData.withBytes(iv), blockMode: .CBC) {
-            let encrypted = aes.encrypt(NSData.withBytes(input))
+            let encrypted = aes.encrypt(NSData.withBytes(input), addPadding: false)
             XCTAssertEqual(encrypted!, NSData.withBytes(expected), "encryption failed")
             let decrypted = aes.decrypt(encrypted!)
             XCTAssertEqual(decrypted!, NSData.withBytes(input), "decryption failed")
@@ -43,9 +43,9 @@ class AESTests: XCTestCase {
             0x70, 0xb4, 0xc5, 0x5a];
         
         if let aes = AES(key: NSData.withBytes(aesKey), blockMode: .ECB) {
-            let encrypted = aes.encrypt(NSData.withBytes(input))
+            let encrypted = aes.encrypt(NSData.withBytes(input), addPadding: false)
             XCTAssertEqual(encrypted!, NSData.withBytes(expected), "encryption failed")
-            let decrypted = aes.decrypt(encrypted!)
+            let decrypted = aes.decrypt(encrypted!, removePadding: false)
             XCTAssertEqual(decrypted!, NSData.withBytes(input), "decryption failed")
         } else {
             XCTAssert(false, "failed")
@@ -60,9 +60,9 @@ class AESTests: XCTestCase {
         
         if let aes = AES(key: NSData.withBytes(key), iv:NSData.withBytes(iv), blockMode: .CBC) {
             XCTAssertTrue(aes.blockMode == .CBC, "Invalid block mode")
-            let encrypted = aes.encrypt(NSData.withBytes(plaintext))
+            let encrypted = aes.encrypt(NSData.withBytes(plaintext), addPadding: false)
             XCTAssertEqual(encrypted!, NSData.withBytes(expected), "encryption failed")
-            let decrypted = aes.decrypt(encrypted!)
+            let decrypted = aes.decrypt(encrypted!, removePadding: false)
             XCTAssertEqual(decrypted!, NSData.withBytes(plaintext), "decryption failed")
         } else {
             XCTAssert(false, "failed")
@@ -77,9 +77,9 @@ class AESTests: XCTestCase {
         
         if let aes = AES(key: NSData.withBytes(key), iv:NSData.withBytes(iv), blockMode: .CFB) {
             XCTAssertTrue(aes.blockMode == .CFB, "Invalid block mode")
-            let encrypted = aes.encrypt(NSData.withBytes(plaintext))
+            let encrypted = aes.encrypt(NSData.withBytes(plaintext), addPadding: false)
             XCTAssertEqual(encrypted!, NSData.withBytes(expected), "encryption failed")
-            let decrypted = aes.decrypt(encrypted!)
+            let decrypted = aes.decrypt(encrypted!, removePadding: false)
             XCTAssertEqual(decrypted!, NSData.withBytes(plaintext), "decryption failed")
         } else {
             XCTAssert(false, "failed")

+ 7 - 5
README.md

@@ -106,16 +106,18 @@ Notice regarding padding: *Manual padding of data is optional and CryptoSwift by
 	let ivData:NSData = Cipher.randomIV(keyData)
 	
 	let encryptedData = Cipher.AES(key: keyData, iv: ivData, blockMode: .CBC).encrypt(plaintextData)
-	
-	// or
-	let aes = AES(key: keyData, iv: ivData, blockMode: .CBC) // CBC is default
-	let encryptedData = aes?.encrypt(plaintextData, addPadding: true) // With padding enabled
-	
+		
 	// 3. decrypt with key and IV
 	let decryptedData = Cipher.AES(key: keyData, iv: ivData, blockMode: .CBC).decrypt(encryptedData)
 	
 	// 4. remove padding ONLY IF applied earlier (Optional)
 	let plaintextData = PKCS7(data: decryptedData).removePadding()	
+	
+AES without data padding
+
+	let aes = AES(key: keyData, iv: ivData, blockMode: .CBC) // CBC is default
+	let encryptedData = aes?.encrypt(plaintextData, addPadding: false)
+	let decryptedData = aes?.decrypt(encryptedData, removePadding: false)
 
 Using extensions