# HG changeset patch # User Laman # Date 2019-07-05 19:52:51 # Node ID a9595f817d39f299ac9fe6243fc46e905df27be4 # Parent 11975fd44f9382b9d4d7a2dbd52fa330ea8ebbda testing PBKDF2 diff --git a/spec/test/pbkdf2Spec.js b/spec/test/pbkdf2Spec.js new file mode 100644 --- /dev/null +++ b/spec/test/pbkdf2Spec.js @@ -0,0 +1,17 @@ +/* global expect */ + +describe("pbkdf2",function(){ + let cryptoJS=require("../../dist/main.js"); + let pbkdf2=cryptoJS.pbkdf2; + + // it is difficult to find an independent implementation or an example of PBKDF2-BLAKE2s with no HMAC. + // so we test against our own values to test at least against bugs introduced later + it("should return a correct test key",function(){ + expect(pbkdf2([1,2,3],[4,5,6,7,8,9,10,11],1024,32)).toEqual([2,3,212,35,227,5,152,88,48,219,42, 238,177,51,111,73,233,136,19,10,10,108,89,230,77,23,104,152,86,23,255,14]); + + let longPass="1234567890=10=567890=20=567890=30=56".split("").map(c=>c.charCodeAt(0)); + let salt="1234567890_10_56".split("").map(c=>c.charCodeAt(0)); + expect(pbkdf2(longPass,salt,1337,48)).toEqual([244,203,226,107,154,99,73,33,255,175,82,97,85, 137,201,104,158,129,12,200,193,48,71,149,117,184,161,189,247,120,62,9,20,30,109,140,190,224,78, 217,133,51,168,25,25,52,247,40]); + }); + +});