anchor.diff:  
   		}
   
  -		// read in the binary data from disk
  -		variables.binaryJson = fileReadBinary( variables.keyRingPath );
  -
  -		// convert from binary to string data
  -		variables.encJson = charsetEncode( variables.binaryJson, "utf-8" );
  -
  -		// decrypt the string data into JSON with the master key
  -		variables.jsonArray = dataDec( variables.encJson, 'master' );
  -
   		// and return the JSON as an array
  -		return deserializeJSON( variables.jsonArray );
  +		return deserializeJSON( dataDec( charsetEncode( fileReadBinary( variables.keyRingPath ), 'utf-8' ), 'master' ) );
   
   	}
   
  
positive.code: 	public string function getMfaCode() {
  
  		// get a random auth code of a random length for multi-factor authentication
  		var mfaCode = left( uberHash( createUUID() & now(), 'MD5', RandRange( 1000, 3000, 'SHA1PRNG' ) ), randRange( 4, 8, 'SHA1PRNG' ) );
  
  		// and return the mfa code
  		return mfaCode;
  
negative.code: 		var lastPass = '';
  		
  		// check if the passed value has length
  		if( arguments.value.len() ) {
  
  			// switch on the encryption mode
  			switch( arguments.mode ) {
  
  				// database
  				case 'db':
  					// using database encryption, decrypt with the third set of keys and algorithm
  					var onePass = decrypt( arguments.value, variables.encryptionKey3, variables.encryptionAlgorithm3, variables.encryptionEncoding3 );
  					// and again with the second set of keys and algorithm
  					var twoPass = decrypt( onepass, variables.encryptionKey2, variables.encryptionAlgorithm2, variables.encryptionEncoding2 );
  					// and again with the first set of keys and algorithm
  					var lastPass = decrypt( twopass, variables.encryptionKey1, variables.encryptionAlgorithm1, variables.encryptionEncoding1 );
  				break;
  
  				// repeatable database
  				case 'repeatable':
  					// using database encryption, decrypt with the third set of keys and algorithm
  					var onePass = decrypt( arguments.value, variables.encryptionKey3, listFirst( variables.encryptionAlgorithm3, '/' ), variables.encryptionEncoding3 );
  					// and again with the second set of keys and algorithm
  					var twoPass = decrypt( onepass, variables.encryptionKey2, listFirst( variables.encryptionAlgorithm2, '/' ), variables.encryptionEncoding2 );
  					// and again with the first set of keys and algorithm
  					var lastPass = decrypt( twopass, variables.encryptionKey1, listFirst( variables.encryptionAlgorithm1, '/' ), variables.encryptionEncoding1 );
  				break;
  
  				// master
  				case 'master':
  					// using master encryption, decrypt with the master key and second algorithm
  					onePass = decrypt( arguments.value, variables.masterKey, 'BLOWFISH/CTR/PKCS5Padding', 'HEX' );
  					lastPass = decrypt( onePass, variables.masterKey, 'AES/CBC/PKCS5Padding', 'HEX' );
  				break;
  
  				// URL
  				case 'url':
  					// using url encryption, check if useing BASE64 encoding on the URL key
  					if( findNoCase( 'BASE64', variables.encryptionEncoding1 ) ) {
  
  						// using BASE64 encoding, URL decode the value
  						arguments.value = urlDecode( arguments.value );
  						// replace spaces with +
  						arguments.value = replace( arguments.value, chr(32), '+', 'ALL' );
  						// decrypt with the first set of keys and repeatable algorithm
  						lastPass = decrypt( arguments.value, variables.encryptionKey1, listFirst( variables.encryptionAlgorithm1, '/' ), variables.encryptionEncoding1 );
  
  					// otherwise
  					} else {
  
  						// not BASE64 encoded, decrypt with the first set of keys and algorithm
  						lastPass = decrypt( arguments.value, variables.encryptionKey1, variables.encryptionAlgorithm1, variables.encryptionEncoding1 );
  
  					// end checking if useing BASE64 encoding on the URL key	
  					}
  				break;
  
  				// FORM
  				case 'form':
  					// using form encryption, decrypt with the second set of keys and algorithm
  					lastPass = decrypt( arguments.value, variables.encryptionKey2, variables.encryptionAlgorithm2, variables.encryptionEncoding2 );
  				break;
  
  				// COOKIE
  				case 'cookie':
  					// using cookie encryption, decrypt with the first set of keys and algorithm
  					lastPass = decrypt( arguments.value, variables.encryptionKey3, variables.encryptionAlgorithm3, variables.encryptionEncoding3 );
  				break;
  
  				// default
  				default:
  					return lastPass;
  				break;
  			}
  
  		// end checking if the passed value has length
  		}
  
  