From 91b4cfc801b7c156c231ca60aba69a8d171e9226 Mon Sep 17 00:00:00 2001 From: iximeow Date: Wed, 26 Nov 2014 18:10:58 -0800 Subject: Challenge 8, 9 --- test/Set2Spec.scala | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 test/Set2Spec.scala (limited to 'test/Set2Spec.scala') 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) + + } + + } + + } + + } + +} -- cgit v1.1