spring-jekyll-theme 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +49 -0
- data/_includes/disqus.html +17 -0
- data/_includes/disqus_comments.html +20 -0
- data/_includes/footer.html +23 -0
- data/_includes/google-analytics.html +9 -0
- data/_includes/head.html +21 -0
- data/_includes/header.html +31 -0
- data/_includes/profile.html +21 -0
- data/_includes/social.html +19 -0
- data/_layouts/default.html +20 -0
- data/_layouts/home.html +34 -0
- data/_layouts/page.html +14 -0
- data/_layouts/post.html +43 -0
- data/_sass/spring/_base.scss +272 -0
- data/_sass/spring/_layout.scss +290 -0
- data/_sass/spring/_syntax-highlighting.scss +71 -0
- data/_sass/spring.scss +56 -0
- data/assets/3rd-party/crypto-js/CONTRIBUTING.md +28 -0
- data/assets/3rd-party/crypto-js/LICENSE +24 -0
- data/assets/3rd-party/crypto-js/README.md +249 -0
- data/assets/3rd-party/crypto-js/aes.js +234 -0
- data/assets/3rd-party/crypto-js/bower.json +35 -0
- data/assets/3rd-party/crypto-js/cipher-core.js +890 -0
- data/assets/3rd-party/crypto-js/core.js +797 -0
- data/assets/3rd-party/crypto-js/crypto-js.js +6059 -0
- data/assets/3rd-party/crypto-js/docs/QuickStartGuide.wiki +470 -0
- data/assets/3rd-party/crypto-js/enc-base64.js +136 -0
- data/assets/3rd-party/crypto-js/enc-hex.js +18 -0
- data/assets/3rd-party/crypto-js/enc-latin1.js +18 -0
- data/assets/3rd-party/crypto-js/enc-utf16.js +149 -0
- data/assets/3rd-party/crypto-js/enc-utf8.js +18 -0
- data/assets/3rd-party/crypto-js/evpkdf.js +134 -0
- data/assets/3rd-party/crypto-js/format-hex.js +66 -0
- data/assets/3rd-party/crypto-js/format-openssl.js +18 -0
- data/assets/3rd-party/crypto-js/hmac-md5.js +18 -0
- data/assets/3rd-party/crypto-js/hmac-ripemd160.js +18 -0
- data/assets/3rd-party/crypto-js/hmac-sha1.js +18 -0
- data/assets/3rd-party/crypto-js/hmac-sha224.js +18 -0
- data/assets/3rd-party/crypto-js/hmac-sha256.js +18 -0
- data/assets/3rd-party/crypto-js/hmac-sha3.js +18 -0
- data/assets/3rd-party/crypto-js/hmac-sha384.js +18 -0
- data/assets/3rd-party/crypto-js/hmac-sha512.js +18 -0
- data/assets/3rd-party/crypto-js/hmac.js +143 -0
- data/assets/3rd-party/crypto-js/index.js +18 -0
- data/assets/3rd-party/crypto-js/lib-typedarrays.js +76 -0
- data/assets/3rd-party/crypto-js/md5.js +268 -0
- data/assets/3rd-party/crypto-js/mode-cfb.js +80 -0
- data/assets/3rd-party/crypto-js/mode-ctr-gladman.js +116 -0
- data/assets/3rd-party/crypto-js/mode-ctr.js +58 -0
- data/assets/3rd-party/crypto-js/mode-ecb.js +40 -0
- data/assets/3rd-party/crypto-js/mode-ofb.js +54 -0
- data/assets/3rd-party/crypto-js/package.json +66 -0
- data/assets/3rd-party/crypto-js/pad-ansix923.js +49 -0
- data/assets/3rd-party/crypto-js/pad-iso10126.js +44 -0
- data/assets/3rd-party/crypto-js/pad-iso97971.js +40 -0
- data/assets/3rd-party/crypto-js/pad-nopadding.js +30 -0
- data/assets/3rd-party/crypto-js/pad-pkcs7.js +18 -0
- data/assets/3rd-party/crypto-js/pad-zeropadding.js +47 -0
- data/assets/3rd-party/crypto-js/pbkdf2.js +145 -0
- data/assets/3rd-party/crypto-js/rabbit-legacy.js +190 -0
- data/assets/3rd-party/crypto-js/rabbit.js +192 -0
- data/assets/3rd-party/crypto-js/rc4.js +139 -0
- data/assets/3rd-party/crypto-js/ripemd160.js +267 -0
- data/assets/3rd-party/crypto-js/sha1.js +150 -0
- data/assets/3rd-party/crypto-js/sha224.js +80 -0
- data/assets/3rd-party/crypto-js/sha256.js +199 -0
- data/assets/3rd-party/crypto-js/sha3.js +326 -0
- data/assets/3rd-party/crypto-js/sha384.js +83 -0
- data/assets/3rd-party/crypto-js/sha512.js +326 -0
- data/assets/3rd-party/crypto-js/tripledes.js +779 -0
- data/assets/3rd-party/crypto-js/x64-core.js +304 -0
- data/assets/css/style.scss +5 -0
- data/assets/ecmascripts/index.js +25 -0
- data/assets/images/avatar.png +0 -0
- data/assets/images/background.jpg +0 -0
- data/assets/social-icons.svg +28 -0
- metadata +176 -0
@@ -0,0 +1,150 @@
|
|
1
|
+
;(function (root, factory) {
|
2
|
+
if (typeof exports === "object") {
|
3
|
+
// CommonJS
|
4
|
+
module.exports = exports = factory(require("./core"));
|
5
|
+
}
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
7
|
+
// AMD
|
8
|
+
define(["./core"], factory);
|
9
|
+
}
|
10
|
+
else {
|
11
|
+
// Global (browser)
|
12
|
+
factory(root.CryptoJS);
|
13
|
+
}
|
14
|
+
}(this, function (CryptoJS) {
|
15
|
+
|
16
|
+
(function () {
|
17
|
+
// Shortcuts
|
18
|
+
var C = CryptoJS;
|
19
|
+
var C_lib = C.lib;
|
20
|
+
var WordArray = C_lib.WordArray;
|
21
|
+
var Hasher = C_lib.Hasher;
|
22
|
+
var C_algo = C.algo;
|
23
|
+
|
24
|
+
// Reusable object
|
25
|
+
var W = [];
|
26
|
+
|
27
|
+
/**
|
28
|
+
* SHA-1 hash algorithm.
|
29
|
+
*/
|
30
|
+
var SHA1 = C_algo.SHA1 = Hasher.extend({
|
31
|
+
_doReset: function () {
|
32
|
+
this._hash = new WordArray.init([
|
33
|
+
0x67452301, 0xefcdab89,
|
34
|
+
0x98badcfe, 0x10325476,
|
35
|
+
0xc3d2e1f0
|
36
|
+
]);
|
37
|
+
},
|
38
|
+
|
39
|
+
_doProcessBlock: function (M, offset) {
|
40
|
+
// Shortcut
|
41
|
+
var H = this._hash.words;
|
42
|
+
|
43
|
+
// Working variables
|
44
|
+
var a = H[0];
|
45
|
+
var b = H[1];
|
46
|
+
var c = H[2];
|
47
|
+
var d = H[3];
|
48
|
+
var e = H[4];
|
49
|
+
|
50
|
+
// Computation
|
51
|
+
for (var i = 0; i < 80; i++) {
|
52
|
+
if (i < 16) {
|
53
|
+
W[i] = M[offset + i] | 0;
|
54
|
+
} else {
|
55
|
+
var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
|
56
|
+
W[i] = (n << 1) | (n >>> 31);
|
57
|
+
}
|
58
|
+
|
59
|
+
var t = ((a << 5) | (a >>> 27)) + e + W[i];
|
60
|
+
if (i < 20) {
|
61
|
+
t += ((b & c) | (~b & d)) + 0x5a827999;
|
62
|
+
} else if (i < 40) {
|
63
|
+
t += (b ^ c ^ d) + 0x6ed9eba1;
|
64
|
+
} else if (i < 60) {
|
65
|
+
t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;
|
66
|
+
} else /* if (i < 80) */ {
|
67
|
+
t += (b ^ c ^ d) - 0x359d3e2a;
|
68
|
+
}
|
69
|
+
|
70
|
+
e = d;
|
71
|
+
d = c;
|
72
|
+
c = (b << 30) | (b >>> 2);
|
73
|
+
b = a;
|
74
|
+
a = t;
|
75
|
+
}
|
76
|
+
|
77
|
+
// Intermediate hash value
|
78
|
+
H[0] = (H[0] + a) | 0;
|
79
|
+
H[1] = (H[1] + b) | 0;
|
80
|
+
H[2] = (H[2] + c) | 0;
|
81
|
+
H[3] = (H[3] + d) | 0;
|
82
|
+
H[4] = (H[4] + e) | 0;
|
83
|
+
},
|
84
|
+
|
85
|
+
_doFinalize: function () {
|
86
|
+
// Shortcuts
|
87
|
+
var data = this._data;
|
88
|
+
var dataWords = data.words;
|
89
|
+
|
90
|
+
var nBitsTotal = this._nDataBytes * 8;
|
91
|
+
var nBitsLeft = data.sigBytes * 8;
|
92
|
+
|
93
|
+
// Add padding
|
94
|
+
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
|
95
|
+
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
|
96
|
+
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
|
97
|
+
data.sigBytes = dataWords.length * 4;
|
98
|
+
|
99
|
+
// Hash final blocks
|
100
|
+
this._process();
|
101
|
+
|
102
|
+
// Return final computed hash
|
103
|
+
return this._hash;
|
104
|
+
},
|
105
|
+
|
106
|
+
clone: function () {
|
107
|
+
var clone = Hasher.clone.call(this);
|
108
|
+
clone._hash = this._hash.clone();
|
109
|
+
|
110
|
+
return clone;
|
111
|
+
}
|
112
|
+
});
|
113
|
+
|
114
|
+
/**
|
115
|
+
* Shortcut function to the hasher's object interface.
|
116
|
+
*
|
117
|
+
* @param {WordArray|string} message The message to hash.
|
118
|
+
*
|
119
|
+
* @return {WordArray} The hash.
|
120
|
+
*
|
121
|
+
* @static
|
122
|
+
*
|
123
|
+
* @example
|
124
|
+
*
|
125
|
+
* var hash = CryptoJS.SHA1('message');
|
126
|
+
* var hash = CryptoJS.SHA1(wordArray);
|
127
|
+
*/
|
128
|
+
C.SHA1 = Hasher._createHelper(SHA1);
|
129
|
+
|
130
|
+
/**
|
131
|
+
* Shortcut function to the HMAC's object interface.
|
132
|
+
*
|
133
|
+
* @param {WordArray|string} message The message to hash.
|
134
|
+
* @param {WordArray|string} key The secret key.
|
135
|
+
*
|
136
|
+
* @return {WordArray} The HMAC.
|
137
|
+
*
|
138
|
+
* @static
|
139
|
+
*
|
140
|
+
* @example
|
141
|
+
*
|
142
|
+
* var hmac = CryptoJS.HmacSHA1(message, key);
|
143
|
+
*/
|
144
|
+
C.HmacSHA1 = Hasher._createHmacHelper(SHA1);
|
145
|
+
}());
|
146
|
+
|
147
|
+
|
148
|
+
return CryptoJS.SHA1;
|
149
|
+
|
150
|
+
}));
|
@@ -0,0 +1,80 @@
|
|
1
|
+
;(function (root, factory, undef) {
|
2
|
+
if (typeof exports === "object") {
|
3
|
+
// CommonJS
|
4
|
+
module.exports = exports = factory(require("./core"), require("./sha256"));
|
5
|
+
}
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
7
|
+
// AMD
|
8
|
+
define(["./core", "./sha256"], factory);
|
9
|
+
}
|
10
|
+
else {
|
11
|
+
// Global (browser)
|
12
|
+
factory(root.CryptoJS);
|
13
|
+
}
|
14
|
+
}(this, function (CryptoJS) {
|
15
|
+
|
16
|
+
(function () {
|
17
|
+
// Shortcuts
|
18
|
+
var C = CryptoJS;
|
19
|
+
var C_lib = C.lib;
|
20
|
+
var WordArray = C_lib.WordArray;
|
21
|
+
var C_algo = C.algo;
|
22
|
+
var SHA256 = C_algo.SHA256;
|
23
|
+
|
24
|
+
/**
|
25
|
+
* SHA-224 hash algorithm.
|
26
|
+
*/
|
27
|
+
var SHA224 = C_algo.SHA224 = SHA256.extend({
|
28
|
+
_doReset: function () {
|
29
|
+
this._hash = new WordArray.init([
|
30
|
+
0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,
|
31
|
+
0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4
|
32
|
+
]);
|
33
|
+
},
|
34
|
+
|
35
|
+
_doFinalize: function () {
|
36
|
+
var hash = SHA256._doFinalize.call(this);
|
37
|
+
|
38
|
+
hash.sigBytes -= 4;
|
39
|
+
|
40
|
+
return hash;
|
41
|
+
}
|
42
|
+
});
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Shortcut function to the hasher's object interface.
|
46
|
+
*
|
47
|
+
* @param {WordArray|string} message The message to hash.
|
48
|
+
*
|
49
|
+
* @return {WordArray} The hash.
|
50
|
+
*
|
51
|
+
* @static
|
52
|
+
*
|
53
|
+
* @example
|
54
|
+
*
|
55
|
+
* var hash = CryptoJS.SHA224('message');
|
56
|
+
* var hash = CryptoJS.SHA224(wordArray);
|
57
|
+
*/
|
58
|
+
C.SHA224 = SHA256._createHelper(SHA224);
|
59
|
+
|
60
|
+
/**
|
61
|
+
* Shortcut function to the HMAC's object interface.
|
62
|
+
*
|
63
|
+
* @param {WordArray|string} message The message to hash.
|
64
|
+
* @param {WordArray|string} key The secret key.
|
65
|
+
*
|
66
|
+
* @return {WordArray} The HMAC.
|
67
|
+
*
|
68
|
+
* @static
|
69
|
+
*
|
70
|
+
* @example
|
71
|
+
*
|
72
|
+
* var hmac = CryptoJS.HmacSHA224(message, key);
|
73
|
+
*/
|
74
|
+
C.HmacSHA224 = SHA256._createHmacHelper(SHA224);
|
75
|
+
}());
|
76
|
+
|
77
|
+
|
78
|
+
return CryptoJS.SHA224;
|
79
|
+
|
80
|
+
}));
|
@@ -0,0 +1,199 @@
|
|
1
|
+
;(function (root, factory) {
|
2
|
+
if (typeof exports === "object") {
|
3
|
+
// CommonJS
|
4
|
+
module.exports = exports = factory(require("./core"));
|
5
|
+
}
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
7
|
+
// AMD
|
8
|
+
define(["./core"], factory);
|
9
|
+
}
|
10
|
+
else {
|
11
|
+
// Global (browser)
|
12
|
+
factory(root.CryptoJS);
|
13
|
+
}
|
14
|
+
}(this, function (CryptoJS) {
|
15
|
+
|
16
|
+
(function (Math) {
|
17
|
+
// Shortcuts
|
18
|
+
var C = CryptoJS;
|
19
|
+
var C_lib = C.lib;
|
20
|
+
var WordArray = C_lib.WordArray;
|
21
|
+
var Hasher = C_lib.Hasher;
|
22
|
+
var C_algo = C.algo;
|
23
|
+
|
24
|
+
// Initialization and round constants tables
|
25
|
+
var H = [];
|
26
|
+
var K = [];
|
27
|
+
|
28
|
+
// Compute constants
|
29
|
+
(function () {
|
30
|
+
function isPrime(n) {
|
31
|
+
var sqrtN = Math.sqrt(n);
|
32
|
+
for (var factor = 2; factor <= sqrtN; factor++) {
|
33
|
+
if (!(n % factor)) {
|
34
|
+
return false;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
return true;
|
39
|
+
}
|
40
|
+
|
41
|
+
function getFractionalBits(n) {
|
42
|
+
return ((n - (n | 0)) * 0x100000000) | 0;
|
43
|
+
}
|
44
|
+
|
45
|
+
var n = 2;
|
46
|
+
var nPrime = 0;
|
47
|
+
while (nPrime < 64) {
|
48
|
+
if (isPrime(n)) {
|
49
|
+
if (nPrime < 8) {
|
50
|
+
H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));
|
51
|
+
}
|
52
|
+
K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));
|
53
|
+
|
54
|
+
nPrime++;
|
55
|
+
}
|
56
|
+
|
57
|
+
n++;
|
58
|
+
}
|
59
|
+
}());
|
60
|
+
|
61
|
+
// Reusable object
|
62
|
+
var W = [];
|
63
|
+
|
64
|
+
/**
|
65
|
+
* SHA-256 hash algorithm.
|
66
|
+
*/
|
67
|
+
var SHA256 = C_algo.SHA256 = Hasher.extend({
|
68
|
+
_doReset: function () {
|
69
|
+
this._hash = new WordArray.init(H.slice(0));
|
70
|
+
},
|
71
|
+
|
72
|
+
_doProcessBlock: function (M, offset) {
|
73
|
+
// Shortcut
|
74
|
+
var H = this._hash.words;
|
75
|
+
|
76
|
+
// Working variables
|
77
|
+
var a = H[0];
|
78
|
+
var b = H[1];
|
79
|
+
var c = H[2];
|
80
|
+
var d = H[3];
|
81
|
+
var e = H[4];
|
82
|
+
var f = H[5];
|
83
|
+
var g = H[6];
|
84
|
+
var h = H[7];
|
85
|
+
|
86
|
+
// Computation
|
87
|
+
for (var i = 0; i < 64; i++) {
|
88
|
+
if (i < 16) {
|
89
|
+
W[i] = M[offset + i] | 0;
|
90
|
+
} else {
|
91
|
+
var gamma0x = W[i - 15];
|
92
|
+
var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^
|
93
|
+
((gamma0x << 14) | (gamma0x >>> 18)) ^
|
94
|
+
(gamma0x >>> 3);
|
95
|
+
|
96
|
+
var gamma1x = W[i - 2];
|
97
|
+
var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^
|
98
|
+
((gamma1x << 13) | (gamma1x >>> 19)) ^
|
99
|
+
(gamma1x >>> 10);
|
100
|
+
|
101
|
+
W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
|
102
|
+
}
|
103
|
+
|
104
|
+
var ch = (e & f) ^ (~e & g);
|
105
|
+
var maj = (a & b) ^ (a & c) ^ (b & c);
|
106
|
+
|
107
|
+
var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));
|
108
|
+
var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));
|
109
|
+
|
110
|
+
var t1 = h + sigma1 + ch + K[i] + W[i];
|
111
|
+
var t2 = sigma0 + maj;
|
112
|
+
|
113
|
+
h = g;
|
114
|
+
g = f;
|
115
|
+
f = e;
|
116
|
+
e = (d + t1) | 0;
|
117
|
+
d = c;
|
118
|
+
c = b;
|
119
|
+
b = a;
|
120
|
+
a = (t1 + t2) | 0;
|
121
|
+
}
|
122
|
+
|
123
|
+
// Intermediate hash value
|
124
|
+
H[0] = (H[0] + a) | 0;
|
125
|
+
H[1] = (H[1] + b) | 0;
|
126
|
+
H[2] = (H[2] + c) | 0;
|
127
|
+
H[3] = (H[3] + d) | 0;
|
128
|
+
H[4] = (H[4] + e) | 0;
|
129
|
+
H[5] = (H[5] + f) | 0;
|
130
|
+
H[6] = (H[6] + g) | 0;
|
131
|
+
H[7] = (H[7] + h) | 0;
|
132
|
+
},
|
133
|
+
|
134
|
+
_doFinalize: function () {
|
135
|
+
// Shortcuts
|
136
|
+
var data = this._data;
|
137
|
+
var dataWords = data.words;
|
138
|
+
|
139
|
+
var nBitsTotal = this._nDataBytes * 8;
|
140
|
+
var nBitsLeft = data.sigBytes * 8;
|
141
|
+
|
142
|
+
// Add padding
|
143
|
+
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
|
144
|
+
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
|
145
|
+
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
|
146
|
+
data.sigBytes = dataWords.length * 4;
|
147
|
+
|
148
|
+
// Hash final blocks
|
149
|
+
this._process();
|
150
|
+
|
151
|
+
// Return final computed hash
|
152
|
+
return this._hash;
|
153
|
+
},
|
154
|
+
|
155
|
+
clone: function () {
|
156
|
+
var clone = Hasher.clone.call(this);
|
157
|
+
clone._hash = this._hash.clone();
|
158
|
+
|
159
|
+
return clone;
|
160
|
+
}
|
161
|
+
});
|
162
|
+
|
163
|
+
/**
|
164
|
+
* Shortcut function to the hasher's object interface.
|
165
|
+
*
|
166
|
+
* @param {WordArray|string} message The message to hash.
|
167
|
+
*
|
168
|
+
* @return {WordArray} The hash.
|
169
|
+
*
|
170
|
+
* @static
|
171
|
+
*
|
172
|
+
* @example
|
173
|
+
*
|
174
|
+
* var hash = CryptoJS.SHA256('message');
|
175
|
+
* var hash = CryptoJS.SHA256(wordArray);
|
176
|
+
*/
|
177
|
+
C.SHA256 = Hasher._createHelper(SHA256);
|
178
|
+
|
179
|
+
/**
|
180
|
+
* Shortcut function to the HMAC's object interface.
|
181
|
+
*
|
182
|
+
* @param {WordArray|string} message The message to hash.
|
183
|
+
* @param {WordArray|string} key The secret key.
|
184
|
+
*
|
185
|
+
* @return {WordArray} The HMAC.
|
186
|
+
*
|
187
|
+
* @static
|
188
|
+
*
|
189
|
+
* @example
|
190
|
+
*
|
191
|
+
* var hmac = CryptoJS.HmacSHA256(message, key);
|
192
|
+
*/
|
193
|
+
C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
|
194
|
+
}(Math));
|
195
|
+
|
196
|
+
|
197
|
+
return CryptoJS.SHA256;
|
198
|
+
|
199
|
+
}));
|