param-bytes-for-alg.js 456 B

1234567891011121314151617181920212223
  1. 'use strict';
  2. function getParamSize(keySize) {
  3. var result = ((keySize / 8) | 0) + (keySize % 8 === 0 ? 0 : 1);
  4. return result;
  5. }
  6. var paramBytesForAlg = {
  7. ES256: getParamSize(256),
  8. ES384: getParamSize(384),
  9. ES512: getParamSize(521)
  10. };
  11. function getParamBytesForAlg(alg) {
  12. var paramBytes = paramBytesForAlg[alg];
  13. if (paramBytes) {
  14. return paramBytes;
  15. }
  16. throw new Error('Unknown algorithm "' + alg + '"');
  17. }
  18. module.exports = getParamBytesForAlg;