40 lines
		
	
	
		
			918 B
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			918 B
		
	
	
	
		
			JavaScript
		
	
	
	
|  | ;(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/IEC 9797-1 Padding Method 2. | ||
|  | 	 */ | ||
|  | 	CryptoJS.pad.Iso97971 = { | ||
|  | 	    pad: function (data, blockSize) { | ||
|  | 	        // Add 0x80 byte
 | ||
|  | 	        data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); | ||
|  | 
 | ||
|  | 	        // Zero pad the rest
 | ||
|  | 	        CryptoJS.pad.ZeroPadding.pad(data, blockSize); | ||
|  | 	    }, | ||
|  | 
 | ||
|  | 	    unpad: function (data) { | ||
|  | 	        // Remove zero padding
 | ||
|  | 	        CryptoJS.pad.ZeroPadding.unpad(data); | ||
|  | 
 | ||
|  | 	        // Remove one more byte -- the 0x80 byte
 | ||
|  | 	        data.sigBytes--; | ||
|  | 	    } | ||
|  | 	}; | ||
|  | 
 | ||
|  | 
 | ||
|  | 	return CryptoJS.pad.Iso97971; | ||
|  | 
 | ||
|  | })); |