Cryptico

How to COMPUTE a key
  • A public key can be obtained elsewhere, so no need to worry about encryption or signature verification.
  • A private key could be obtained elsewhere too, but such a feature is not available in my implementation.
  1. Put a passphrase into the My Passphrase field.
  2. Press the Compute button.
  3. Get the computed key from the My Key field.
How to ENCRYPT a message
  1. Put the public key of the receiver into the Their Public Key field.
  2. Put your decrypted message into the Input Message field.
  3. If you want to add your signature to the encrypted message, put your key into the My Key field, otherwise leave it blank.
  4. Press the Encrypt button.
  5. Get the encrypted message from the Output Message field.
How to DECRYPT a message
  1. If the encrypted message carries a signature you want to match, put the public key of the sender into the Their Public Key field.
  2. Put your encrypted message into the Input Message field.
  3. Put your key into the My Key field.
  4. Press the Decrypt button.
  5. Get the decrypted message from the Output Message field.

Their Public Key

My Key or Passphrase

My Public Key (computed)

Input Message

Output Message

Their Public Key (computed)

Using cryptico.js.

Please, do not use this page for encrypting sensitive data.

You are advised to look elsewhere for serious encryption tools.

Embeddable

Input:

Output:

 

Yet another bookmarklet for injecting jQuery

Drag and drop to your bookmarks this link

javascript:(function () {
    var wasUndefined = typeof jQuery == 'undefined';
    var download = prompt('Inject jQuery <version> as global <name>:', '1.7.2 ' + (wasUndefined ? 'jQuery' : 'ae'));
    if (! download)
    {
        return;
    }
    download = download.split(' ');
    var newVersion = download[0];
    var newJQuery = download[1];
    window.oldJQuery = wasUndefined ? null : jQuery;
    window.jQuery = null;
    var s = document.createElement('script');
    s.setAttribute('src', 'http://ajax.googleapis.com/ajax/libs/jquery/' + newVersion + '/jquery.min.js');  
    document.getElementsByTagName('head')[0].appendChild(s);  
    
    var time = 0;  
    var id = setInterval(function () { 
        var isUndefined = typeof jQuery == 'undefined'; 
        if (! isUndefined) {  
            clearInterval(id);  
            jQuery.noConflict();
            console.info('jQuery ' + jQuery.fn.jquery + ' has been injected. (as ' + newJQuery + ')');
            window[newJQuery] = jQuery;
            window.jQuery = wasUndefined ? jQuery : window.oldJQuery;
            return; 
        }  
        ++time; 
        if (time == 10) {  
            clearInterval(id);  
            console.info('Sorry, unable to inject jQuery now.');
            window.jQuery = window.oldJQuery;
        }  
    }, 500); 
})();

UPDATED: 2012-06-10