diff options
Diffstat (limited to 'test/Set2Spec.scala')
-rw-r--r-- | test/Set2Spec.scala | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/Set2Spec.scala b/test/Set2Spec.scala new file mode 100644 index 0000000..efcb5b0 --- /dev/null +++ b/test/Set2Spec.scala @@ -0,0 +1,46 @@ +package ixee.cryptopals.test + +import com.ixee.IxeeSpec + +class Set2Spec extends IxeeSpec { + + import ixee.cryptopals.utils.ConversionUtils._ + import ixee.cryptopals.utils.ByteUtils._ + import ixee.cryptopals.utils.StreamUtils._ + import ixee.cryptopals.utils._ + import ixee.cryptopals.solvers._ + + "Set2" - { + + "Challenge 9: Implement PKCS#7 padding" - { + + "when n bytes are missing" - { + + "fill with n bytes of value n" in { + + val text = "what a nice stri" * 16 * 2 + + def challenge9spec(expected: Byte) = { + val truncated = text.dropRight(expected) + val padString = + CryptoUtils.pkcs7pad(truncated, 256).takeRight(expected) + + val expectedPad = + s"${expected.toChar}" * expected + + padString mustBe expectedPad + } + + for { + x <- 1 to 255 + } yield challenge9spec(x.toByte) + + } + + } + + } + + } + +} |