index.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. (function() {
  2. var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
  3. var __module = nodeEnv ? module : {exports:{}};
  4. var __filename = 'preview-scripts/__node_modules/browserify-sign/browser/index.js';
  5. var __require = nodeEnv ? function (request) {
  6. return cc.require(request);
  7. } : function (request) {
  8. return __quick_compile_project__.require(request, __filename);
  9. };
  10. function __define (exports, require, module) {
  11. if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}var Buffer = require('safe-buffer').Buffer
  12. var createHash = require('create-hash')
  13. var stream = require('readable-stream')
  14. var inherits = require('inherits')
  15. var sign = require('./sign')
  16. var verify = require('./verify')
  17. var algorithms = require('./algorithms.json')
  18. Object.keys(algorithms).forEach(function (key) {
  19. algorithms[key].id = Buffer.from(algorithms[key].id, 'hex')
  20. algorithms[key.toLowerCase()] = algorithms[key]
  21. })
  22. function Sign (algorithm) {
  23. stream.Writable.call(this)
  24. var data = algorithms[algorithm]
  25. if (!data) throw new Error('Unknown message digest')
  26. this._hashType = data.hash
  27. this._hash = createHash(data.hash)
  28. this._tag = data.id
  29. this._signType = data.sign
  30. }
  31. inherits(Sign, stream.Writable)
  32. Sign.prototype._write = function _write (data, _, done) {
  33. this._hash.update(data)
  34. done()
  35. }
  36. Sign.prototype.update = function update (data, enc) {
  37. if (typeof data === 'string') data = Buffer.from(data, enc)
  38. this._hash.update(data)
  39. return this
  40. }
  41. Sign.prototype.sign = function signMethod (key, enc) {
  42. this.end()
  43. var hash = this._hash.digest()
  44. var sig = sign(hash, key, this._hashType, this._signType, this._tag)
  45. return enc ? sig.toString(enc) : sig
  46. }
  47. function Verify (algorithm) {
  48. stream.Writable.call(this)
  49. var data = algorithms[algorithm]
  50. if (!data) throw new Error('Unknown message digest')
  51. this._hash = createHash(data.hash)
  52. this._tag = data.id
  53. this._signType = data.sign
  54. }
  55. inherits(Verify, stream.Writable)
  56. Verify.prototype._write = function _write (data, _, done) {
  57. this._hash.update(data)
  58. done()
  59. }
  60. Verify.prototype.update = function update (data, enc) {
  61. if (typeof data === 'string') data = Buffer.from(data, enc)
  62. this._hash.update(data)
  63. return this
  64. }
  65. Verify.prototype.verify = function verifyMethod (key, sig, enc) {
  66. if (typeof sig === 'string') sig = Buffer.from(sig, enc)
  67. this.end()
  68. var hash = this._hash.digest()
  69. return verify(sig, hash, key, this._signType, this._tag)
  70. }
  71. function createSign (algorithm) {
  72. return new Sign(algorithm)
  73. }
  74. function createVerify (algorithm) {
  75. return new Verify(algorithm)
  76. }
  77. module.exports = {
  78. Sign: createSign,
  79. Verify: createVerify,
  80. createSign: createSign,
  81. createVerify: createVerify
  82. }
  83. }
  84. if (nodeEnv) {
  85. __define(__module.exports, __require, __module);
  86. }
  87. else {
  88. __quick_compile_project__.registerModuleFunc(__filename, function () {
  89. __define(__module.exports, __require, __module);
  90. });
  91. }
  92. })();