{"version":3,"file":"smCrypto.mjs","sources":["../../../src/utils/smCrypto.js"],"sourcesContent":["/**\r\n *  Copyright [2022] [https://www.xiaonuo.vip]\r\n *\tSnowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：\r\n *\t1.请不要删除和修改根目录下的LICENSE文档。\r\n *\t2.请不要删除和修改Snowy源码头部的版权声明。\r\n *\t3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文档的项目出处，作者声明等。\r\n *\t4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip\r\n *\t5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。\r\n *\t6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip\r\n */\r\n/**\r\n * 加解密的工具类\r\n * 使用：https://github.com/JuneAndGreen/sm-crypto\r\n *\r\n * @author yubaoshan\r\n */\r\nimport smCrypto from 'sm-crypto'\r\nconst sm2 = smCrypto.sm2\r\nconst sm3 = smCrypto.sm3\r\nconst sm4 = smCrypto.sm4\r\nconst cipherMode = 1 // 1 - C1C3C2，0 - C1C2C3，默认为1\r\nconst publicKey = '04298364ec840088475eae92a591e01284d1abefcda348b47eb324bb521bb03b0b2a5bc393f6b71dabb8f15c99a0050818b56b23f31743b93df9cf8948f15ddb54'\r\nconst privateKey = '3037723d47292171677ec8bd7dc9af696c7472bc5f251b2cec07e65fdef22e25'\r\nconst key = '0123456789abcdeffedcba9876543210'\r\n/**\r\n * 国密加解密工具类\r\n */\r\nexport default {\r\n\t// SM2加密\r\n\tdoSm2Encrypt(msgString) {\r\n\t\treturn sm2.doEncrypt(msgString, publicKey, cipherMode)\r\n\t},\r\n\t// SM2解密\r\n\tdoSm2Decrypt(encryptData) {\r\n\t\treturn sm2.doDecrypt(encryptData, privateKey, cipherMode)\r\n\t},\r\n\t// SM2数组加密\r\n\tdoSm2ArrayEncrypt(msgString) {\r\n\t\treturn sm2.doEncrypt(msgString, publicKey, cipherMode)\r\n\t},\r\n\t// SM2数组解密\r\n\tdoSm2ArrayDecrypt(encryptData) {\r\n\t\treturn sm2.doDecrypt(encryptData, privateKey, cipherMode, { output: 'array' })\r\n\t},\r\n\t// SM3哈希\r\n\tdoSm3Hash(msgString) {\r\n\t\treturn sm3(msgString)\r\n\t},\r\n\t// SM4 加密\r\n\tdoSm4Encrypt(msgString) {\r\n\t\treturn sm4.encrypt(msgString, key)\r\n\t},\r\n\t// SM4 CBC加密\r\n\tdoSm4CbcEncrypt(msgString) {\r\n\t\treturn sm4.encrypt(msgString, key, { mode: 'cbc', iv: 'fedcba98765432100123456789abcdef' })\r\n\t},\r\n\t// SM4 解密\r\n\tdoSm4Decrypt(encryptData) {\r\n\t\treturn sm4.decrypt(encryptData, key)\r\n\t},\r\n\t// SM4 CBC解密\r\n\tdoSm4CbcDecrypt(encryptData) {\r\n\t\treturn sm4.decrypt(encryptData, key, { mode: 'cbc', iv: 'fedcba98765432100123456789abcdef' })\r\n\t}\r\n}\r\n"],"names":["smCrypto"],"mappings":";AAiBA,MAAM,MAAMA,WAAS;AACrB,MAAM,MAAMA,WAAS;AACrB,MAAM,MAAMA,WAAS;AACrB,MAAM,aAAa;AACnB,MAAM,YAAY;AAClB,MAAM,aAAa;AACnB,MAAM,MAAM;AAIZ,MAAe,WAAA;AAAA,EAEd,aAAa,WAAW;AACvB,WAAO,IAAI,UAAU,WAAW,WAAW,UAAU;AAAA,EACrD;AAAA,EAED,aAAa,aAAa;AACzB,WAAO,IAAI,UAAU,aAAa,YAAY,UAAU;AAAA,EACxD;AAAA,EAED,kBAAkB,WAAW;AAC5B,WAAO,IAAI,UAAU,WAAW,WAAW,UAAU;AAAA,EACrD;AAAA,EAED,kBAAkB,aAAa;AAC9B,WAAO,IAAI,UAAU,aAAa,YAAY,YAAY,EAAE,QAAQ,SAAS;AAAA,EAC7E;AAAA,EAED,UAAU,WAAW;AACpB,WAAO,IAAI,SAAS;AAAA,EACpB;AAAA,EAED,aAAa,WAAW;AACvB,WAAO,IAAI,QAAQ,WAAW,GAAG;AAAA,EACjC;AAAA,EAED,gBAAgB,WAAW;AAC1B,WAAO,IAAI,QAAQ,WAAW,KAAK,EAAE,MAAM,OAAO,IAAI,oCAAoC;AAAA,EAC1F;AAAA,EAED,aAAa,aAAa;AACzB,WAAO,IAAI,QAAQ,aAAa,GAAG;AAAA,EACnC;AAAA,EAED,gBAAgB,aAAa;AAC5B,WAAO,IAAI,QAAQ,aAAa,KAAK,EAAE,MAAM,OAAO,IAAI,oCAAoC;AAAA,EAC5F;AACF;"}