UNPKG

@ivujs/i-utils

Version:

前端模块化 JavaScript 工具库

112 lines (99 loc) 3.56 kB
import { generateKeyPairHex as generateKeyPairHex$1, compressPublicKeyHex as compressPublicKeyHex$1, comparePublicKeyHex as comparePublicKeyHex$1, verifyPublicKey as verifyPublicKey$1, doEncrypt, doDecrypt, doSignature as doSignature$1, doVerifySignature as doVerifySignature$1, getPoint as getPoint$1, getPublicKeyFromPrivateKey as getPublicKeyFromPrivateKey$1 } from './sm2.mjs'; // 获取密钥对 /** * sm2 生成公钥和私钥 * @param {String} str 字符串 * @param {Number} rnd 随机数 * @returns {Object} 返回公钥和私钥 */ function generateKeyPairHex(str, rnd) { return generateKeyPairHex$1(str, rnd); } /** * sm2 压缩公钥 * @param {String} publicKey 公钥 * @returns {String} 返回公钥字符串 */ function compressPublicKeyHex(publicKey) { return compressPublicKeyHex$1(publicKey); } /** * sm2 对比公钥是否等价 * @param {String} publicKey 公钥 * @param {String} compressedPublicKey 压缩后的公钥 * @returns {Boolean} 返回结果 */ function comparePublicKeyHex(publicKey, compressedPublicKey) { return comparePublicKeyHex$1(publicKey, compressedPublicKey); } // 验证密钥对 /** * sm2 验证公钥 * @param {String} publicKey 公钥,也可以传压缩后的公钥 * @returns {Boolean} 返回结果 */ function verifyPublicKey(publicKey) { return verifyPublicKey$1(publicKey); } // 加密解密 /** * sm2 加密 * @param {String} str 字符串 * @param {String} publicKey 公钥 * @param {Number} cipherMode 加密模式,1(C1C3C2)和0(C1C2C3),默认1 * @returns {String} 返回加密后的字符串 */ function encrypt(str, publicKey, cipherMode = 1) { return doEncrypt(str, publicKey, cipherMode); } /** * sm2 解密 * @param {String} str 字符串 * @param {String} privateKey 私钥 * @param {Number} cipherMode 解密模式,1(C1C3C2)和0(C1C2C3),默认1 * @param {Object} outputConfig 输出结果配置,{output:'string/array'} * @returns {String,Array} 返回解密后的数据 */ function decrypt(str, privateKey, cipherMode = 1, outputConfig = { output: "string" }) { return doDecrypt(str, privateKey, cipherMode, outputConfig); } // 签名验签 /** * sm2 生成签名 * @param {String} str 字符串 * @param {String} privateKey 私钥 * @param {Object} signatureConfig 签名配置 * @returns {String} 返回签名信息 */ function doSignature(str, privateKey, signatureConfig) { return doSignature$1(str, privateKey, signatureConfig); } /** * sm2 验证签名 * @param {String} str 字符串 * @param {String} signHex 生成签名的信息 * @param {String} publicKey 公钥 * @param {Object} verifyConfig 验证配置 * @returns {String} 返回结果 */ function doVerifySignature(str, signHex, publicKey, verifyConfig) { return doVerifySignature$1(str, signHex, publicKey, verifyConfig); } // 获取椭圆曲线点 /** * sm2 获取椭圆曲线点 * @returns {Object} 返回椭圆曲线点,可在sm2签名时传入 */ function getPoint() { return getPoint$1(); } // 根据私钥获取公钥 /** * sm2 根据私钥获取公钥 * @param {String} privateKey 私钥 * @returns {String} 返回公钥 */ function getPublicKeyFromPrivateKey(privateKey) { return getPublicKeyFromPrivateKey$1(privateKey); } export { comparePublicKeyHex, compressPublicKeyHex, decrypt, doSignature, doVerifySignature, encrypt, generateKeyPairHex, getPoint, getPublicKeyFromPrivateKey, verifyPublicKey };