UNPKG

@dioxide-js/silas

Version:

RPC utility for Silas

1 lines 5.76 kB
{"version":3,"file":"index.mjs","sources":["../../../../../../node_modules/sm-crypto/src/sm3/index.js"],"sourcesContent":["const {sm3, hmac} = require('../sm2/sm3')\n\n/**\n * 补全16进制字符串\n */\nfunction leftPad(input, num) {\n if (input.length >= num) return input\n\n return (new Array(num - input.length + 1)).join('0') + input\n}\n\n/**\n * 字节数组转 16 进制串\n */\nfunction ArrayToHex(arr) {\n return arr.map(item => {\n item = item.toString(16)\n return item.length === 1 ? '0' + item : item\n }).join('')\n}\n\n/**\n * 转成字节数组\n */\nfunction hexToArray(hexStr) {\n const words = []\n let hexStrLength = hexStr.length\n\n if (hexStrLength % 2 !== 0) {\n hexStr = leftPad(hexStr, hexStrLength + 1)\n }\n\n hexStrLength = hexStr.length\n\n for (let i = 0; i < hexStrLength; i += 2) {\n words.push(parseInt(hexStr.substr(i, 2), 16))\n }\n return words\n}\n\n/**\n * utf8 串转字节数组\n */\nfunction utf8ToArray(str) {\n const arr = []\n\n for (let i = 0, len = str.length; i < len; i++) {\n const point = str.codePointAt(i)\n\n if (point <= 0x007f) {\n // 单字节,标量值:00000000 00000000 0zzzzzzz\n arr.push(point)\n } else if (point <= 0x07ff) {\n // 双字节,标量值:00000000 00000yyy yyzzzzzz\n arr.push(0xc0 | (point >>> 6)) // 110yyyyy(0xc0-0xdf)\n arr.push(0x80 | (point & 0x3f)) // 10zzzzzz(0x80-0xbf)\n } else if (point <= 0xD7FF || (point >= 0xE000 && point <= 0xFFFF)) {\n // 三字节:标量值:00000000 xxxxyyyy yyzzzzzz\n arr.push(0xe0 | (point >>> 12)) // 1110xxxx(0xe0-0xef)\n arr.push(0x80 | ((point >>> 6) & 0x3f)) // 10yyyyyy(0x80-0xbf)\n arr.push(0x80 | (point & 0x3f)) // 10zzzzzz(0x80-0xbf)\n } else if (point >= 0x010000 && point <= 0x10FFFF) {\n // 四字节:标量值:000wwwxx xxxxyyyy yyzzzzzz\n i++\n arr.push((0xf0 | (point >>> 18) & 0x1c)) // 11110www(0xf0-0xf7)\n arr.push((0x80 | ((point >>> 12) & 0x3f))) // 10xxxxxx(0x80-0xbf)\n arr.push((0x80 | ((point >>> 6) & 0x3f))) // 10yyyyyy(0x80-0xbf)\n arr.push((0x80 | (point & 0x3f))) // 10zzzzzz(0x80-0xbf)\n } else {\n // 五、六字节,暂时不支持\n arr.push(point)\n throw new Error('input is not supported')\n }\n }\n\n return arr\n}\n\nmodule.exports = function (input, options) {\n input = typeof input === 'string' ? utf8ToArray(input) : Array.prototype.slice.call(input)\n\n if (options) {\n const mode = options.mode || 'hmac'\n if (mode !== 'hmac') throw new Error('invalid mode')\n\n let key = options.key\n if (!key) throw new Error('invalid key')\n\n key = typeof key === 'string' ? hexToArray(key) : Array.prototype.slice.call(key)\n return ArrayToHex(hmac(input, key))\n }\n\n return ArrayToHex(sm3(input))\n}\n"],"names":["require$$0"],"mappings":"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","x_google_ignoreList":[0]}