spring-jekyll-theme 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +49 -0
  3. data/_includes/disqus.html +17 -0
  4. data/_includes/disqus_comments.html +20 -0
  5. data/_includes/footer.html +23 -0
  6. data/_includes/google-analytics.html +9 -0
  7. data/_includes/head.html +21 -0
  8. data/_includes/header.html +31 -0
  9. data/_includes/profile.html +21 -0
  10. data/_includes/social.html +19 -0
  11. data/_layouts/default.html +20 -0
  12. data/_layouts/home.html +34 -0
  13. data/_layouts/page.html +14 -0
  14. data/_layouts/post.html +43 -0
  15. data/_sass/spring/_base.scss +272 -0
  16. data/_sass/spring/_layout.scss +290 -0
  17. data/_sass/spring/_syntax-highlighting.scss +71 -0
  18. data/_sass/spring.scss +56 -0
  19. data/assets/3rd-party/crypto-js/CONTRIBUTING.md +28 -0
  20. data/assets/3rd-party/crypto-js/LICENSE +24 -0
  21. data/assets/3rd-party/crypto-js/README.md +249 -0
  22. data/assets/3rd-party/crypto-js/aes.js +234 -0
  23. data/assets/3rd-party/crypto-js/bower.json +35 -0
  24. data/assets/3rd-party/crypto-js/cipher-core.js +890 -0
  25. data/assets/3rd-party/crypto-js/core.js +797 -0
  26. data/assets/3rd-party/crypto-js/crypto-js.js +6059 -0
  27. data/assets/3rd-party/crypto-js/docs/QuickStartGuide.wiki +470 -0
  28. data/assets/3rd-party/crypto-js/enc-base64.js +136 -0
  29. data/assets/3rd-party/crypto-js/enc-hex.js +18 -0
  30. data/assets/3rd-party/crypto-js/enc-latin1.js +18 -0
  31. data/assets/3rd-party/crypto-js/enc-utf16.js +149 -0
  32. data/assets/3rd-party/crypto-js/enc-utf8.js +18 -0
  33. data/assets/3rd-party/crypto-js/evpkdf.js +134 -0
  34. data/assets/3rd-party/crypto-js/format-hex.js +66 -0
  35. data/assets/3rd-party/crypto-js/format-openssl.js +18 -0
  36. data/assets/3rd-party/crypto-js/hmac-md5.js +18 -0
  37. data/assets/3rd-party/crypto-js/hmac-ripemd160.js +18 -0
  38. data/assets/3rd-party/crypto-js/hmac-sha1.js +18 -0
  39. data/assets/3rd-party/crypto-js/hmac-sha224.js +18 -0
  40. data/assets/3rd-party/crypto-js/hmac-sha256.js +18 -0
  41. data/assets/3rd-party/crypto-js/hmac-sha3.js +18 -0
  42. data/assets/3rd-party/crypto-js/hmac-sha384.js +18 -0
  43. data/assets/3rd-party/crypto-js/hmac-sha512.js +18 -0
  44. data/assets/3rd-party/crypto-js/hmac.js +143 -0
  45. data/assets/3rd-party/crypto-js/index.js +18 -0
  46. data/assets/3rd-party/crypto-js/lib-typedarrays.js +76 -0
  47. data/assets/3rd-party/crypto-js/md5.js +268 -0
  48. data/assets/3rd-party/crypto-js/mode-cfb.js +80 -0
  49. data/assets/3rd-party/crypto-js/mode-ctr-gladman.js +116 -0
  50. data/assets/3rd-party/crypto-js/mode-ctr.js +58 -0
  51. data/assets/3rd-party/crypto-js/mode-ecb.js +40 -0
  52. data/assets/3rd-party/crypto-js/mode-ofb.js +54 -0
  53. data/assets/3rd-party/crypto-js/package.json +66 -0
  54. data/assets/3rd-party/crypto-js/pad-ansix923.js +49 -0
  55. data/assets/3rd-party/crypto-js/pad-iso10126.js +44 -0
  56. data/assets/3rd-party/crypto-js/pad-iso97971.js +40 -0
  57. data/assets/3rd-party/crypto-js/pad-nopadding.js +30 -0
  58. data/assets/3rd-party/crypto-js/pad-pkcs7.js +18 -0
  59. data/assets/3rd-party/crypto-js/pad-zeropadding.js +47 -0
  60. data/assets/3rd-party/crypto-js/pbkdf2.js +145 -0
  61. data/assets/3rd-party/crypto-js/rabbit-legacy.js +190 -0
  62. data/assets/3rd-party/crypto-js/rabbit.js +192 -0
  63. data/assets/3rd-party/crypto-js/rc4.js +139 -0
  64. data/assets/3rd-party/crypto-js/ripemd160.js +267 -0
  65. data/assets/3rd-party/crypto-js/sha1.js +150 -0
  66. data/assets/3rd-party/crypto-js/sha224.js +80 -0
  67. data/assets/3rd-party/crypto-js/sha256.js +199 -0
  68. data/assets/3rd-party/crypto-js/sha3.js +326 -0
  69. data/assets/3rd-party/crypto-js/sha384.js +83 -0
  70. data/assets/3rd-party/crypto-js/sha512.js +326 -0
  71. data/assets/3rd-party/crypto-js/tripledes.js +779 -0
  72. data/assets/3rd-party/crypto-js/x64-core.js +304 -0
  73. data/assets/css/style.scss +5 -0
  74. data/assets/ecmascripts/index.js +25 -0
  75. data/assets/images/avatar.png +0 -0
  76. data/assets/images/background.jpg +0 -0
  77. data/assets/social-icons.svg +28 -0
  78. metadata +176 -0
@@ -0,0 +1,234 @@
1
+ ;(function (root, factory, undef) {
2
+ if (typeof exports === "object") {
3
+ // CommonJS
4
+ module.exports = exports = factory(require("./core"), require("./enc-base64"), require("./md5"), require("./evpkdf"), require("./cipher-core"));
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ // AMD
8
+ define(["./core", "./enc-base64", "./md5", "./evpkdf", "./cipher-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 BlockCipher = C_lib.BlockCipher;
21
+ var C_algo = C.algo;
22
+
23
+ // Lookup tables
24
+ var SBOX = [];
25
+ var INV_SBOX = [];
26
+ var SUB_MIX_0 = [];
27
+ var SUB_MIX_1 = [];
28
+ var SUB_MIX_2 = [];
29
+ var SUB_MIX_3 = [];
30
+ var INV_SUB_MIX_0 = [];
31
+ var INV_SUB_MIX_1 = [];
32
+ var INV_SUB_MIX_2 = [];
33
+ var INV_SUB_MIX_3 = [];
34
+
35
+ // Compute lookup tables
36
+ (function () {
37
+ // Compute double table
38
+ var d = [];
39
+ for (var i = 0; i < 256; i++) {
40
+ if (i < 128) {
41
+ d[i] = i << 1;
42
+ } else {
43
+ d[i] = (i << 1) ^ 0x11b;
44
+ }
45
+ }
46
+
47
+ // Walk GF(2^8)
48
+ var x = 0;
49
+ var xi = 0;
50
+ for (var i = 0; i < 256; i++) {
51
+ // Compute sbox
52
+ var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);
53
+ sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;
54
+ SBOX[x] = sx;
55
+ INV_SBOX[sx] = x;
56
+
57
+ // Compute multiplication
58
+ var x2 = d[x];
59
+ var x4 = d[x2];
60
+ var x8 = d[x4];
61
+
62
+ // Compute sub bytes, mix columns tables
63
+ var t = (d[sx] * 0x101) ^ (sx * 0x1010100);
64
+ SUB_MIX_0[x] = (t << 24) | (t >>> 8);
65
+ SUB_MIX_1[x] = (t << 16) | (t >>> 16);
66
+ SUB_MIX_2[x] = (t << 8) | (t >>> 24);
67
+ SUB_MIX_3[x] = t;
68
+
69
+ // Compute inv sub bytes, inv mix columns tables
70
+ var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);
71
+ INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8);
72
+ INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16);
73
+ INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24);
74
+ INV_SUB_MIX_3[sx] = t;
75
+
76
+ // Compute next counter
77
+ if (!x) {
78
+ x = xi = 1;
79
+ } else {
80
+ x = x2 ^ d[d[d[x8 ^ x2]]];
81
+ xi ^= d[d[xi]];
82
+ }
83
+ }
84
+ }());
85
+
86
+ // Precomputed Rcon lookup
87
+ var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];
88
+
89
+ /**
90
+ * AES block cipher algorithm.
91
+ */
92
+ var AES = C_algo.AES = BlockCipher.extend({
93
+ _doReset: function () {
94
+ var t;
95
+
96
+ // Skip reset of nRounds has been set before and key did not change
97
+ if (this._nRounds && this._keyPriorReset === this._key) {
98
+ return;
99
+ }
100
+
101
+ // Shortcuts
102
+ var key = this._keyPriorReset = this._key;
103
+ var keyWords = key.words;
104
+ var keySize = key.sigBytes / 4;
105
+
106
+ // Compute number of rounds
107
+ var nRounds = this._nRounds = keySize + 6;
108
+
109
+ // Compute number of key schedule rows
110
+ var ksRows = (nRounds + 1) * 4;
111
+
112
+ // Compute key schedule
113
+ var keySchedule = this._keySchedule = [];
114
+ for (var ksRow = 0; ksRow < ksRows; ksRow++) {
115
+ if (ksRow < keySize) {
116
+ keySchedule[ksRow] = keyWords[ksRow];
117
+ } else {
118
+ t = keySchedule[ksRow - 1];
119
+
120
+ if (!(ksRow % keySize)) {
121
+ // Rot word
122
+ t = (t << 8) | (t >>> 24);
123
+
124
+ // Sub word
125
+ t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];
126
+
127
+ // Mix Rcon
128
+ t ^= RCON[(ksRow / keySize) | 0] << 24;
129
+ } else if (keySize > 6 && ksRow % keySize == 4) {
130
+ // Sub word
131
+ t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];
132
+ }
133
+
134
+ keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;
135
+ }
136
+ }
137
+
138
+ // Compute inv key schedule
139
+ var invKeySchedule = this._invKeySchedule = [];
140
+ for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {
141
+ var ksRow = ksRows - invKsRow;
142
+
143
+ if (invKsRow % 4) {
144
+ var t = keySchedule[ksRow];
145
+ } else {
146
+ var t = keySchedule[ksRow - 4];
147
+ }
148
+
149
+ if (invKsRow < 4 || ksRow <= 4) {
150
+ invKeySchedule[invKsRow] = t;
151
+ } else {
152
+ invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^
153
+ INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];
154
+ }
155
+ }
156
+ },
157
+
158
+ encryptBlock: function (M, offset) {
159
+ this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);
160
+ },
161
+
162
+ decryptBlock: function (M, offset) {
163
+ // Swap 2nd and 4th rows
164
+ var t = M[offset + 1];
165
+ M[offset + 1] = M[offset + 3];
166
+ M[offset + 3] = t;
167
+
168
+ this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);
169
+
170
+ // Inv swap 2nd and 4th rows
171
+ var t = M[offset + 1];
172
+ M[offset + 1] = M[offset + 3];
173
+ M[offset + 3] = t;
174
+ },
175
+
176
+ _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {
177
+ // Shortcut
178
+ var nRounds = this._nRounds;
179
+
180
+ // Get input, add round key
181
+ var s0 = M[offset] ^ keySchedule[0];
182
+ var s1 = M[offset + 1] ^ keySchedule[1];
183
+ var s2 = M[offset + 2] ^ keySchedule[2];
184
+ var s3 = M[offset + 3] ^ keySchedule[3];
185
+
186
+ // Key schedule row counter
187
+ var ksRow = 4;
188
+
189
+ // Rounds
190
+ for (var round = 1; round < nRounds; round++) {
191
+ // Shift rows, sub bytes, mix columns, add round key
192
+ var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];
193
+ var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];
194
+ var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];
195
+ var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];
196
+
197
+ // Update state
198
+ s0 = t0;
199
+ s1 = t1;
200
+ s2 = t2;
201
+ s3 = t3;
202
+ }
203
+
204
+ // Shift rows, sub bytes, add round key
205
+ var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];
206
+ var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];
207
+ var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];
208
+ var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];
209
+
210
+ // Set output
211
+ M[offset] = t0;
212
+ M[offset + 1] = t1;
213
+ M[offset + 2] = t2;
214
+ M[offset + 3] = t3;
215
+ },
216
+
217
+ keySize: 256/32
218
+ });
219
+
220
+ /**
221
+ * Shortcut functions to the cipher's object interface.
222
+ *
223
+ * @example
224
+ *
225
+ * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);
226
+ * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg);
227
+ */
228
+ C.AES = BlockCipher._createHelper(AES);
229
+ }());
230
+
231
+
232
+ return CryptoJS.AES;
233
+
234
+ }));
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "crypto-js",
3
+ "version": "4.0.0",
4
+ "description": "JavaScript library of crypto standards.",
5
+ "license": "MIT",
6
+ "homepage": "http://github.com/brix/crypto-js",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "http://github.com/brix/crypto-js.git"
10
+ },
11
+ "keywords": [
12
+ "security",
13
+ "crypto",
14
+ "Hash",
15
+ "MD5",
16
+ "SHA1",
17
+ "SHA-1",
18
+ "SHA256",
19
+ "SHA-256",
20
+ "RC4",
21
+ "Rabbit",
22
+ "AES",
23
+ "DES",
24
+ "PBKDF2",
25
+ "HMAC",
26
+ "OFB",
27
+ "CFB",
28
+ "CTR",
29
+ "CBC",
30
+ "Base64"
31
+ ],
32
+ "main": "index.js",
33
+ "dependencies": {},
34
+ "ignore": []
35
+ }