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.
		
		
		
		
			
				
					44 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					44 lines
				
				1.1 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) { | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * 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; | ||
|  | 
 | ||
|  | })); |