| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | ;(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) {	/**	 * ANSI X.923 padding strategy.	 */	CryptoJS.pad.AnsiX923 = {	    pad: function (data, blockSize) {	        // Shortcuts	        var dataSigBytes = data.sigBytes;	        var blockSizeBytes = blockSize * 4;	        // Count padding bytes	        var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;	        // Compute last byte position	        var lastBytePos = dataSigBytes + nPaddingBytes - 1;	        // Pad	        data.clamp();	        data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8);	        data.sigBytes += nPaddingBytes;	    },	    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.Ansix923;}));
 |