PaddingTests.swift 1.4 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. final 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().add(input, blockSize: 16)
  16. XCTAssertEqual(padded, expected, "PKCS7 failed")
  17. let clean = PKCS7().remove(padded)
  18. XCTAssertEqual(clean, 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().add(input, blockSize: 16)
  24. XCTAssertEqual(padded, expected, "PKCS7 failed")
  25. let clean = PKCS7().remove(padded)
  26. XCTAssertEqual(clean, 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().add(input, blockSize: 16)
  32. XCTAssertEqual(padded, expected, "PKCS7 failed")
  33. let clean = PKCS7().remove(padded)
  34. XCTAssertEqual(clean, input, "PKCS7 failed")
  35. }
  36. }