爱简收旧衣按件回收前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.6 KiB

  1. "use strict";
  2. const utils_ossUpload_common_crypto_crypto_js = require("./crypto.js.js");
  3. (function() {
  4. var util = utils_ossUpload_common_crypto_crypto_js.Crypto.util;
  5. var SHA1 = utils_ossUpload_common_crypto_crypto_js.Crypto.SHA1 = function(message, options) {
  6. var digestbytes = util.wordsToBytes(SHA1._sha1(message));
  7. return options && options.asBytes ? digestbytes : options && options.asString ? util.bytesToString(digestbytes) : util.bytesToHex(digestbytes);
  8. };
  9. SHA1._sha1 = function(message) {
  10. var m = util.stringToWords(message), l = message.length * 8, w = [], H0 = 1732584193, H1 = -271733879, H2 = -1732584194, H3 = 271733878, H4 = -1009589776;
  11. m[l >> 5] |= 128 << 24 - l % 32;
  12. m[(l + 64 >>> 9 << 4) + 15] = l;
  13. for (var i = 0; i < m.length; i += 16) {
  14. var a = H0, b = H1, c = H2, d = H3, e = H4;
  15. for (var j = 0; j < 80; j++) {
  16. if (j < 16)
  17. w[j] = m[i + j];
  18. else {
  19. var n = w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16];
  20. w[j] = n << 1 | n >>> 31;
  21. }
  22. var t = (H0 << 5 | H0 >>> 27) + H4 + (w[j] >>> 0) + (j < 20 ? (H1 & H2 | ~H1 & H3) + 1518500249 : j < 40 ? (H1 ^ H2 ^ H3) + 1859775393 : j < 60 ? (H1 & H2 | H1 & H3 | H2 & H3) - 1894007588 : (H1 ^ H2 ^ H3) - 899497514);
  23. H4 = H3;
  24. H3 = H2;
  25. H2 = H1 << 30 | H1 >>> 2;
  26. H1 = H0;
  27. H0 = t;
  28. }
  29. H0 += a;
  30. H1 += b;
  31. H2 += c;
  32. H3 += d;
  33. H4 += e;
  34. }
  35. return [H0, H1, H2, H3, H4];
  36. };
  37. SHA1._blocksize = 16;
  38. })();
  39. //# sourceMappingURL=../../../../../.sourcemap/mp-weixin/utils/oss-upload/common/crypto/sha1.js.map