enc-base64-min.js 1.2 KB

123456789101112131415161718192021222324252627282930
  1. /*
  2. CryptoJS v3.1.2
  3. code.google.com/p/crypto-js
  4. (c) 2009-2013 by Jeff Mott. All rights reserved.
  5. code.google.com/p/crypto-js/wiki/License
  6. */
  7. (function () {
  8. var h = CryptoJS, j = h.lib.WordArray
  9. h.enc.Base64 = {
  10. stringify: function (b) {
  11. var e = b.words, f = b.sigBytes, c = this._map
  12. b.clamp()
  13. b = []
  14. for (var a = 0; a < f; a += 3)for (var d = (e[a >>> 2] >>> 24 - 8 * (a % 4) & 255) << 16 | (e[a + 1 >>> 2] >>> 24 - 8 * ((a + 1) % 4) & 255) << 8 | e[a + 2 >>> 2] >>> 24 - 8 * ((a + 2) % 4) & 255,
  15. g = 0; 4 > g && a + 0.75 * g < f; g++)b.push(c.charAt(d >>> 6 * (3 - g) & 63))
  16. if (e = c.charAt(64))for (; b.length % 4;)b.push(e);
  17. return b.join('')
  18. }, parse: function (b) {
  19. var e = b.length, f = this._map, c = f.charAt(64)
  20. c && (c = b.indexOf(c), -1 != c && (e = c))
  21. for (var c = [], a = 0, d = 0; d <
  22. e; d++)if (d % 4) {
  23. var g = f.indexOf(b.charAt(d - 1)) << 2 * (d % 4), h = f.indexOf(b.charAt(d)) >>> 6 - 2 * (d % 4)
  24. c[a >>> 2] |= (g | h) << 24 - 8 * (a % 4)
  25. a++
  26. }
  27. return j.create(c, a)
  28. }, _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
  29. }
  30. })()