assertStringEquals(hex((byte[])nfold.invoke(null,"MASSACHVSETTS INSTITVTE OF TECHNOLOGY".getBytes("UTF-8"),192)),"db3b0d8f0b061e603282b308a50841229ad798fab9540c1b");
assertStringEquals(hex((byte[])pbkdf2.invoke(null,"password".toCharArray(),"ATHENA.MIT.EDUraeburn".getBytes("UTF-8"),2,128)),"01 db ee 7f 4a 9e 24 3e 98 8b 62 c7 3c da 93 5d");
assertStringEquals(hex((byte[])pbkdf2.invoke(null,"password".toCharArray(),"ATHENA.MIT.EDUraeburn".getBytes("UTF-8"),2,256)),"01 db ee 7f 4a 9e 24 3e 98 8b 62 c7 3c da 93 5d a0 53 78 b9 32 44 ec 8f 48 a9 9e 61 ad 79 9d 86");
assertStringEquals(hex((byte[])pbkdf2.invoke(null,"password".toCharArray(),"ATHENA.MIT.EDUraeburn".getBytes("UTF-8"),1200,128)),"5c 08 eb 61 fd f7 1e 4e 4e c3 cf 6b a1 f5 51 2b");
assertStringEquals(hex(a1.stringToKey("password".toCharArray(),"ATHENA.MIT.EDUraeburn",i2b(1200))),"4c 01 cd 46 d6 32 d0 1e 6d be 23 0a 01 ed 64 2a");
assertStringEquals(hex((byte[])pbkdf2.invoke(null,"password".toCharArray(),"ATHENA.MIT.EDUraeburn".getBytes("UTF-8"),1200,256)),"5c 08 eb 61 fd f7 1e 4e 4e c3 cf 6b a1 f5 51 2b a7 e5 2d db c5 e5 14 2f 70 8a 31 e2 e6 2b 1e 13");
assertStringEquals(hex(a2.stringToKey("password".toCharArray(),"ATHENA.MIT.EDUraeburn",i2b(1200))),"55 a6 ac 74 0a d1 7b 48 46 94 10 51 e1 e8 b0 a7 54 8d 93 b0 ab 30 a8 bc 3f f1 62 80 38 2b 8c 2a");
assertStringEquals(hex((byte[])s2k.invoke(a2,"password".toCharArray(),xeh("1234567878563412"),i2b(5))),"97 a4 e7 86 be 20 d8 1a 38 2d 5e bc 96 d5 90 9c ab cd ad c8 7c a4 8f 57 45 04 15 9f 16 c3 6e 31");
assertStringEquals(hex(a2.stringToKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX".toCharArray(),"pass phrase equals block size",i2b(1200))),"89 ad ee 36 08 db 8b c7 1f 1b fb fe 45 94 86 b0 56 18 b7 0c ba e2 20 92 53 4e 56 c5 53 ba 4b 34");
assertStringEquals(hex(a2.stringToKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX".toCharArray(),"pass phrase exceeds block size",i2b(1200))),"d7 8c 5c 9c b8 72 a8 c9 da d4 69 7f 0b b5 b2 d2 14 96 c8 2b eb 2c ae da 21 12 fc ee a0 57 40 1b");