@nivinjoseph/n-sec 5.0.4 → 5.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/crypto/hash.js +2 -1
- package/dist/crypto/hash.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/crypto/hash.ts +3 -1
- package/src/index.ts +2 -0
- package/test/hash.test.ts +15 -0
package/dist/crypto/hash.js
CHANGED
|
@@ -26,7 +26,8 @@ class Hash {
|
|
|
26
26
|
};
|
|
27
27
|
const valueReverse = reverse(value);
|
|
28
28
|
const saltReverse = reverse(salt);
|
|
29
|
-
const saltedValue = "{1}{0}{2}{1}{3}{1}{2}".format(value, salt, valueReverse, saltReverse);
|
|
29
|
+
// const saltedValue = "{1}{0}{2}{1}{3}{1}{2}".format(value, salt, valueReverse, saltReverse);
|
|
30
|
+
const saltedValue = `${salt}${value}${valueReverse}${salt}${saltReverse}${salt}${valueReverse}`;
|
|
30
31
|
return Hash.create(saltedValue);
|
|
31
32
|
}
|
|
32
33
|
}
|
package/dist/crypto/hash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/crypto/hash.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AACjD,iCAAiC;AAGjC,SAAS;AACT,MAAa,IAAI;IAEb,gBAAwB,CAAC;IAGlB,MAAM,CAAC,MAAM,CAAC,KAAa;QAE9B,IAAA,mBAAK,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QACxD,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,KAAa,EAAE,IAAY;QAErD,IAAA,mBAAK,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QACxD,IAAA,mBAAK,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QAEtD,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEnB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;YAEpC,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC/B,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACvB,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/crypto/hash.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AACjD,iCAAiC;AAGjC,SAAS;AACT,MAAa,IAAI;IAEb,gBAAwB,CAAC;IAGlB,MAAM,CAAC,MAAM,CAAC,KAAa;QAE9B,IAAA,mBAAK,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QACxD,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,KAAa,EAAE,IAAY;QAErD,IAAA,mBAAK,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QACxD,IAAA,mBAAK,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QAEtD,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEnB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;YAEpC,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC/B,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACvB,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,8FAA8F;QAE9F,MAAM,WAAW,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,YAAY,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,GAAG,YAAY,EAAE,CAAC;QAEhG,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;CACJ;AAxCD,oBAwCC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SecurityToken = exports.JsonWebToken = exports.InvalidTokenException = exports.ExpiredTokenException = exports.ClaimsIdentity = exports.Claim = exports.AlgType = exports.CryptoException = exports.Hash = exports.Hmac = exports.SymmetricEncryption = void 0;
|
|
4
|
+
require("@nivinjoseph/n-ext");
|
|
4
5
|
const symmetric_encryption_1 = require("./crypto/symmetric-encryption");
|
|
5
6
|
Object.defineProperty(exports, "SymmetricEncryption", { enumerable: true, get: function () { return symmetric_encryption_1.SymmetricEncryption; } });
|
|
6
7
|
const hmac_1 = require("./crypto/hmac");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wEAAoE;AAkBhE,oGAlBK,0CAAmB,OAkBL;AAjBvB,wCAAqC;AAiBZ,qFAjBhB,WAAI,OAiBgB;AAhB7B,wCAAqC;AAgBN,qFAhBtB,WAAI,OAgBsB;AAfnC,iEAAiE;AACjE,yEAAyE;AACzE,gEAA4D;AAexD,gGAfK,kCAAe,OAeL;AAbnB,sDAAkD;AAe9C,wFAfK,kBAAO,OAeL;AAdX,gDAA6C;AAchC,sFAdJ,aAAK,OAcI;AAblB,oEAAgE;AAa5C,+FAbX,gCAAc,OAaW;AAZlC,oFAA+E;AAY3C,sGAZ3B,+CAAqB,OAY2B;AAXzD,oFAA+E;AAWpB,sGAXlD,+CAAqB,OAWkD;AAVhF,kEAA6D;AAUqB,6FAVzE,6BAAY,OAUyE;AAT9F,kEAA8D;AASkC,8FATvF,8BAAa,OASuF"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,8BAA4B;AAE5B,wEAAoE;AAkBhE,oGAlBK,0CAAmB,OAkBL;AAjBvB,wCAAqC;AAiBZ,qFAjBhB,WAAI,OAiBgB;AAhB7B,wCAAqC;AAgBN,qFAhBtB,WAAI,OAgBsB;AAfnC,iEAAiE;AACjE,yEAAyE;AACzE,gEAA4D;AAexD,gGAfK,kCAAe,OAeL;AAbnB,sDAAkD;AAe9C,wFAfK,kBAAO,OAeL;AAdX,gDAA6C;AAchC,sFAdJ,aAAK,OAcI;AAblB,oEAAgE;AAa5C,+FAbX,gCAAc,OAaW;AAZlC,oFAA+E;AAY3C,sGAZ3B,+CAAqB,OAY2B;AAXzD,oFAA+E;AAWpB,sGAXlD,+CAAqB,OAWkD;AAVhF,kEAA6D;AAUqB,6FAVzE,6BAAY,OAUyE;AAT9F,kEAA8D;AASkC,8FATvF,8BAAa,OASuF"}
|
package/package.json
CHANGED
package/src/crypto/hash.ts
CHANGED
|
@@ -37,7 +37,9 @@ export class Hash
|
|
|
37
37
|
const valueReverse = reverse(value);
|
|
38
38
|
const saltReverse = reverse(salt);
|
|
39
39
|
|
|
40
|
-
const saltedValue = "{1}{0}{2}{1}{3}{1}{2}".format(value, salt, valueReverse, saltReverse);
|
|
40
|
+
// const saltedValue = "{1}{0}{2}{1}{3}{1}{2}".format(value, salt, valueReverse, saltReverse);
|
|
41
|
+
|
|
42
|
+
const saltedValue = `${salt}${value}${valueReverse}${salt}${saltReverse}${salt}${valueReverse}`;
|
|
41
43
|
|
|
42
44
|
return Hash.create(saltedValue);
|
|
43
45
|
}
|
package/src/index.ts
CHANGED
package/test/hash.test.ts
CHANGED
|
@@ -149,6 +149,21 @@ suite("Hash", () =>
|
|
|
149
149
|
Assert.notStrictEqual(hash1, hash2);
|
|
150
150
|
});
|
|
151
151
|
|
|
152
|
+
test("regex issue", () =>
|
|
153
|
+
{
|
|
154
|
+
let password = "YQAt3TPI7s1YXyClbQ2$&JdHOKZJ@z4!";
|
|
155
|
+
password = password.trim();
|
|
156
|
+
|
|
157
|
+
const createdAt = Date.now();
|
|
158
|
+
const username = "defaultUser";
|
|
159
|
+
|
|
160
|
+
const salt = (createdAt % 2) === 0
|
|
161
|
+
? `${username.base64Decode()}${createdAt}`
|
|
162
|
+
: `${createdAt}${username.base64Decode()}`;
|
|
163
|
+
|
|
164
|
+
return Hash.createUsingSalt(password, salt);
|
|
165
|
+
});
|
|
166
|
+
|
|
152
167
|
|
|
153
168
|
|
|
154
169
|
|