diff options
| author | Pliable Pixels <pliablepixels@gmail.com> | 2016-08-05 14:05:24 -0400 |
|---|---|---|
| committer | Pliable Pixels <pliablepixels@gmail.com> | 2016-08-05 14:05:24 -0400 |
| commit | d743aa39f3ddaf5e3f1d5f40e2a3ec9eb90cfc4d (patch) | |
| tree | 0744e3c746d356e5e791213556a4855231d4c626 /www/lib/crypto-js/pad-iso10126.js | |
| parent | bcee540a8de31a4c9ce12923d8759c21ef2424f2 (diff) | |
#293 - logs now won't have password stored, and userProfile is cryptoJS ciphered
Former-commit-id: 0db06364a3532cbbb31bd5fa33a488b232f725a5
Diffstat (limited to 'www/lib/crypto-js/pad-iso10126.js')
| -rw-r--r-- | www/lib/crypto-js/pad-iso10126.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/www/lib/crypto-js/pad-iso10126.js b/www/lib/crypto-js/pad-iso10126.js new file mode 100644 index 00000000..6e2aefd8 --- /dev/null +++ b/www/lib/crypto-js/pad-iso10126.js @@ -0,0 +1,44 @@ +;(function (root, factory, undef) { + if (typeof exports === "object") { + // CommonJS + module.exports = exports = factory(require("./core"), require("./cipher-core")); + } + else if (typeof define === "function" && define.amd) { + // AMD + define(["./core", "./cipher-core"], factory); + } + else { + // Global (browser) + factory(root.CryptoJS); + } +}(this, function (CryptoJS) { + + /** + * ISO 10126 padding strategy. + */ + CryptoJS.pad.Iso10126 = { + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Pad + data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). + concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1)); + }, + + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + + return CryptoJS.pad.Iso10126; + +}));
\ No newline at end of file |
