PaddingTests.swift 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 XCTest
  9. @testable import CryptoSwift
  10. final class PaddingTests: XCTestCase {
  11. func testPKCS7_0() {
  12. let input:Array<UInt8> = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6]
  13. let expected:Array<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]
  14. let padded = PKCS7().add(to: input, blockSize: 16)
  15. XCTAssertEqual(padded, expected, "PKCS7 failed")
  16. let clean = PKCS7().remove(from: padded, blockSize: nil)
  17. XCTAssertEqual(clean, input, "PKCS7 failed")
  18. }
  19. func testPKCS7_1() {
  20. let input:Array<UInt8> = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5]
  21. let expected:Array<UInt8> = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,1]
  22. let padded = PKCS7().add(to: input, blockSize: 16)
  23. XCTAssertEqual(padded, expected, "PKCS7 failed")
  24. let clean = PKCS7().remove(from: padded, blockSize: nil)
  25. XCTAssertEqual(clean, input, "PKCS7 failed")
  26. }
  27. func testPKCS7_2() {
  28. let input:Array<UInt8> = [1,2,3,4,5,6,7,8,9,0,1,2,3,4]
  29. let expected:Array<UInt8> = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,2,2]
  30. let padded = PKCS7().add(to: input, blockSize: 16)
  31. XCTAssertEqual(padded, expected, "PKCS7 failed")
  32. let clean = PKCS7().remove(from: padded, blockSize: nil)
  33. XCTAssertEqual(clean, input, "PKCS7 failed")
  34. }
  35. func testZeroPadding() {
  36. let input:Array<UInt8> = [1,2,3,4,5,6,7,8,9]
  37. let expected:Array<UInt8> = [1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0]
  38. let padding = ZeroPadding()
  39. XCTAssertEqual(padding.add(to: input, blockSize: 16), expected, "ZeroPadding failed")
  40. XCTAssertEqual(padding.remove(from: padding.add(to: input, blockSize: 16), blockSize: 16), input, "ZeroPadding failed")
  41. }
  42. static let allTests = [
  43. ("testPKCS7_0", testPKCS7_0),
  44. ("testPKCS7_1", testPKCS7_1),
  45. ("testPKCS7_2", testPKCS7_2),
  46. ("testZeroPadding", testZeroPadding)
  47. ]
  48. }