Text Encryption Tool Encode and decode string data using custom SHA256 public and private keys
Support Development
PayPal ● 
Bitcoin Address: bc1qh7juzrxrawpr65elm4qs285m5rdhnhgsn7h2jf
 ● 
Lightning Address: [email protected]
Your Input Matters
Review
Advertisement
Screenshot
The "Text Encryption Tool" extension enhances your right-click context menu for text selection. It introduces a few new options: three for encoding text and three for decoding text, either to the clipboard, to replace the original content, or to store it in the synced storage. This extension is compatible with all HTML5 element types. The encoded or decoded strings are inserted into the targeted editable element. However, formatting may be lost when targeting other HTML elements, as plain text replaces the actual HTML tags. This extension is useful for saving passwords or other critical text contents securely in the browser's synced storage. It supports both LTR and RTL languages and UTF-8 encoding.

Features

FAQs

  1. What is the "Text Encryption Tool" extension and how does it work?

    This extension simplifies the process of generating encrypted text by adding four context-menu options for text selections. Three of these options are dedicated to encryption and decryption to the clipboard, while the remaining two are for replacing the original text with the encrypted version. There are two options for storing the generated content in the synced storage. You will be prompted to enter a custom passphrase twice to ensure accuracy when you start the encryption process.

    It's essential to note that there is no way to decrypt already encrypted data if the passphrase is lost.

    You can leverage this extension, for example, to securely send important textual data via email or store passwords securely in your Gmail account. However, it's important to include a hint that this encrypted text can be decrypted using any SHA256 decoder.

  2. How does the "Text Encryption Tool" perform the encoding, and is it secure?

    This extension employs the SHA256 algorithm to encrypt your text. To elaborate, it uses the provided passphrase as the private key and generates a random public key. When decrypting data, the extension generates a new public key (as there is no access to the old one, nor any need for it) and uses the provided passphrase as the private key. This method offers robust security for your data. However, it's essential to keep in mind that if you forget your passphrase, there is virtually no way to decrypt previously encrypted text. To ensure accessibility, consider adding a hint for the passphrase during encryption. Additionally, you can use different passphrases each time you encrypt new data.

  3. What's new in this version?

    Please check the Logs section.

  4. How can I securely transfer a password to another device using this extension?

    In version 0.2.0, you can start the process by clicking the action button to access the "Encryption Tool" window. In this interface, input your confidential data into the "Input" field. Next, select a storage passphrase for encrypting the data. Click the "Encrypt" button, followed by the "Record" button, where you can assign a unique name to your new record (unless you intend to overwrite an existing entry). The extension securely stores your encrypted data within your browser's synchronized storage. This encrypted data will be synchronized across all other browsers you have the browser sync configured. You can safely access this data from those devices and even delete them when necessary.

  5. Is it possible to use this extension for encrypting data that isn't within a web page?

    In version 0.2.0, a new feature called the "Encryption Tools" view has been introduced. You can access it through the action button or by right-clicking the context menu over the page. This tool is designed to enable the encryption or decryption of contextual data.

  6. Does this extension depend on a server for data encryption or decryption?

    No, this open-source extension operates entirely offline, using the built-in encryption functionality of your browser. It neither sends nor receives any data from external servers. This tool is committed to upholding user privacy.

  7. How can I decrypt a code encrypted with this extension on a machine without having access to the extension?

    To decrypt the given encrypted string, use the provided JavaScript code by opening your browser console. Access the console through the right-click context menu (Inspect context menu) or by using the keyword shortcut Ctrl + Shift + I on Windows and Command + Shift + I on macOS. Replace the "PASSWORD" and "ENCRYPTED_STRING" before executing the code.

    const safe = new class {
      #key = '';
    
      #encoder = new TextEncoder();
      #decoder = new TextDecoder();
    
      #buffer(string) {
        const bytes = new Uint8Array(string.length);
        [...string].forEach((c, i) => bytes[i] = c.charCodeAt(0));
        return bytes;
      }
    
      async open(password) {
        this.#key = await crypto.subtle.digest({
          name: 'SHA-256'
        }, this.#encoder.encode(password)).then(result => crypto.subtle.importKey('raw', result, {
          name: 'AES-CBC'
        }, true, ['encrypt', 'decrypt']));
      }
      async decrypt(string) {
        // compatibility fix
        string = string.replace('data:application/octet-binary;base64,', '');
    
        const iv = crypto.getRandomValues(new Uint8Array(16));
    
        const result = await crypto.subtle.decrypt({
          name: 'AES-CBC',
          iv
        }, this.#key, this.#buffer(atob(string)));
    
        const ab = (new Uint8Array(result)).subarray(16);
        return this.#decoder.decode(ab);
      }
    }
    await safe.open('PASSWORD');
    await safe.decrypt('ENCRYPTED_STRING');

Matched Content

Reviews

Please keep reviews clean, avoid improper language, and do not post any personal information. Also, please consider sharing your valuable input on the official store.

What's new in this version

Version--
Published--/--/--
Change Logs:
    Last 10 commits on GitHub
    Hover over a node to see more details

    Need help?

    If you have questions about the extension, or ideas on how to improve it, please post them on the  support site. Don't forget to search through the bug reports first as most likely your question/bug report has already been reported or there is a workaround posted for it.

    Open IssuesIssuesForks

    Permissions are explained

    PermissionDescription
    contextMenusto add context-menu items to the selection context
    notificationsnotify user when operation is performed either successfully or not
    storageto keep user and internal preferences such as version number
    *://*/*to be able to inject script when an action is performed (to replace text data when replace mode is used)

    Recent Blog Posts