local secret_impl = require "kong.plugins.oauth2.secret" describe("Plugin: oauth2 (secret)", function() describe("PBKDF", function() local static_key = "$pbkdf2-sha512$i=10000,l=32$YSBsaXR0ZSBiaXQsIGp1c3QgYSBsaXR0bGUgYml0$z6ysNworexAhDELywIDi0ba0B0T7F/MBZ6Ige9lWRYI" it("sanity test", function() -- Note: to pass test in FIPS mode, salt length has to be 16 bytes or more local derived, err = secret_impl.hash("tofu", { salt = "a litte bit, just a little bit" }) assert.is_nil(err) assert.same(static_key, derived) end) it("uses random salt by default", function() local derived, err = secret_impl.hash("tofu") assert.is_nil(err) assert.not_same(static_key, derived) end) it("verifies correctly", function() local derived, err = secret_impl.hash("tofu") assert.is_nil(err) local ok, err = secret_impl.verify("tofu", derived) assert.is_nil(err) assert.is_truthy(ok) local ok, err = secret_impl.verify("tofu", static_key) assert.is_nil(err) assert.is_truthy(ok) local derived2, err = secret_impl.hash("bun") assert.is_nil(err) local ok, err = secret_impl.verify("tofu", derived2) assert.is_nil(err) assert.is_falsy(ok) end) end) end)