PaddingTests.swift 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // PaddingTests.swift
  3. // CryptoSwift
  4. //
  5. // Created by Marcin Krzyzanowski on 27/12/14.
  6. // Copyright (c) 2014 Marcin Krzyzanowski. All rights reserved.
  7. //
  8. import Foundation
  9. import XCTest
  10. import CryptoSwift
  11. class PaddingTests: XCTestCase {
  12. func testPKCS7_0() {
  13. let input:[UInt8] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6]
  14. let expected:[UInt8] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
  15. let padded = PKCS7(data: NSData.withBytes(input)).addPadding(16)
  16. XCTAssertEqual(padded, NSData.withBytes(expected), "PKCS7 failed")
  17. let clean = PKCS7(data: padded).removePadding()
  18. XCTAssertEqual(clean, NSData.withBytes(input), "PKCS7 failed")
  19. }
  20. func testPKCS7_1() {
  21. let input:[UInt8] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5]
  22. let expected:[UInt8] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,1]
  23. let padded = PKCS7(data: NSData.withBytes(input)).addPadding(16)
  24. XCTAssertEqual(padded, NSData.withBytes(expected), "PKCS7 failed")
  25. let clean = PKCS7(data: padded).removePadding()
  26. XCTAssertEqual(clean, NSData.withBytes(input), "PKCS7 failed")
  27. }
  28. func testPKCS7_2() {
  29. let input:[UInt8] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4]
  30. let expected:[UInt8] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,2,2]
  31. let padded = PKCS7(data: NSData.withBytes(input)).addPadding(16)
  32. XCTAssertEqual(padded, NSData.withBytes(expected), "PKCS7 failed")
  33. let clean = PKCS7(data: padded).removePadding()
  34. XCTAssertEqual(clean, NSData.withBytes(input), "PKCS7 failed")
  35. }
  36. }