You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					49 lines
				
				1.2 KiB
			
		
		
			
		
	
	
					49 lines
				
				1.2 KiB
			| 
											11 months ago
										 | ;(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; | ||
|  | 
 | ||
|  | })); |