browserCryptoLib.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. var Hmac = require('./browserHmac');
  2. var Md5 = require('./browserMd5');
  3. var Sha1 = require('./browserSha1');
  4. var Sha256 = require('./browserSha256');
  5. /**
  6. * @api private
  7. */
  8. module.exports = exports = {
  9. createHash: function createHash(alg) {
  10. alg = alg.toLowerCase();
  11. if (alg === 'md5') {
  12. return new Md5();
  13. } else if (alg === 'sha256') {
  14. return new Sha256();
  15. } else if (alg === 'sha1') {
  16. return new Sha1();
  17. }
  18. throw new Error('Hash algorithm ' + alg + ' is not supported in the browser SDK');
  19. },
  20. createHmac: function createHmac(alg, key) {
  21. alg = alg.toLowerCase();
  22. if (alg === 'md5') {
  23. return new Hmac(Md5, key);
  24. } else if (alg === 'sha256') {
  25. return new Hmac(Sha256, key);
  26. } else if (alg === 'sha1') {
  27. return new Hmac(Sha1, key);
  28. }
  29. throw new Error('HMAC algorithm ' + alg + ' is not supported in the browser SDK');
  30. },
  31. createSign: function() {
  32. throw new Error('createSign is not implemented in the browser');
  33. }
  34. };