diff options
author | iximeow <me@iximeow.net> | 2014-11-26 18:10:58 -0800 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2014-11-26 18:11:50 -0800 |
commit | 91b4cfc801b7c156c231ca60aba69a8d171e9226 (patch) | |
tree | 189262a5e86aea229374e9786edb08ff90d16d09 /test/Set2Spec.scala | |
parent | 31cac438b1571ba6ced29af4997cf9f1f5c3c6b7 (diff) |
Challenge 8, 9
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) + + } + + } + + } + + } + +} |