annotate static-files/encryptobin.js @ 2:e5df7c795457 default tip

Put password field in a form so that it can be saved by Firefox.
author Atul Varma <varmaa@toolness.com>
date Tue, 07 Apr 2009 23:41:34 -0700
parents ecf3376d2a5a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
1 function EncryptoBin(secret, crypto) {
0
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
2 this.put = function put(data, cb) {
1
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
3 if (!cb)
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
4 cb = function() {};
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
5
0
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
6 jQuery.ajax(
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
7 {type: "PUT",
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
8 url: "/" + secret,
1
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
9 data: crypto.encrypt(data),
0
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
10 contentType: "text/plain",
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
11 success: function(data) { cb(data); },
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
12 error: function() { cb(null); }}
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
13 );
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
14 };
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
15
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
16 this.get = function get(cb) {
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
17 jQuery.ajax(
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
18 {type: "GET",
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
19 url: "/" + secret,
1
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
20 success: function(data) { cb(crypto.decrypt(data)); },
0
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
21 error: function() { cb(null); }}
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
22 );
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
23 };
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
24 }
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
25
1
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
26 function AESCrypto(password, bits) {
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
27 this.encrypt = function AESEncrypt(data) {
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
28 return AESEncryptCtr(data, password, bits);
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
29 };
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
30
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
31 this.decrypt = function AESDecrypt(data) {
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
32 return AESDecryptCtr(data, password, bits);
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
33 };
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
34 }
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
35
0
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
36 $(window).ready(
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
37 function() {
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
38 var BITS = 256;
2
e5df7c795457 Put password field in a form so that it can be saved by Firefox.
Atul Varma <varmaa@toolness.com>
parents: 1
diff changeset
39 if ($("#password").val()) {
e5df7c795457 Put password field in a form so that it can be saved by Firefox.
Atul Varma <varmaa@toolness.com>
parents: 1
diff changeset
40 var crypto = new AESCrypto($("#password").val(), BITS);
1
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
41 var bin = new EncryptoBin(window.location.hash.slice(1),
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
42 crypto);
0
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
43
1
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
44 bin.get(
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
45 function(data) { $("#plaintext").val(data); }
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
46 );
0
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
47
1
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
48 $("#plaintext").blur(
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
49 function commitChanges() {
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
50 bin.put($("#plaintext").val());
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
51 });
ecf3376d2a5a Changed the web page to be kind of like an editor.
Atul Varma <varmaa@toolness.com>
parents: 0
diff changeset
52 }
0
1c8dbbdce596 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
53 });