(function(r){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=r()}else{if(typeof define==="function"&&define.amd){define([],r)}else{var e;if(typeof window!=="undefined"){e=window}else{if(typeof global!=="undefined"){e=global}else{if(typeof self!=="undefined"){e=self}else{e=this}}}e.base64js=r()}}})(function(){var r,e,t;return function r(e,t,n){function o(i,a){if(!t[i]){if(!e[i]){var u=typeof require=="function"&&require;if(!a&&u){return u(i,!0)}if(f){return f(i,!0)}var d=new Error("Cannot find module '"+i+"'");throw d.code="MODULE_NOT_FOUND",d}var c=t[i]={exports:{}};e[i][0].call(c.exports,function(r){var t=e[i][1][r];return o(t?t:r)},c,c.exports,r,e,t,n)}return t[i].exports}var f=typeof require=="function"&&require;for(var i=0;i0){throw new Error("Invalid string. Length must be a multiple of 4")}return r[e-2]==="="?2:r[e-1]==="="?1:0}function c(r){return r.length*3/4-d(r)}function v(r){var e,t,n,i,a;var u=r.length;i=d(r);a=new f(u*3/4-i);t=i>0?u-4:u;var c=0;for(e=0;e>16&255;a[c++]=n>>8&255;a[c++]=n&255}if(i===2){n=o[r.charCodeAt(e)]<<2|o[r.charCodeAt(e+1)]>>4;a[c++]=n&255}else{if(i===1){n=o[r.charCodeAt(e)]<<10|o[r.charCodeAt(e+1)]<<4|o[r.charCodeAt(e+2)]>>2;a[c++]=n>>8&255;a[c++]=n&255}}return a}function l(r){return n[r>>18&63]+n[r>>12&63]+n[r>>6&63]+n[r&63]}function h(r,e,t){var n;var o=[];for(var f=e;fd?d:u+a))}if(o===1){e=r[t-1];f+=n[e>>2];f+=n[e<<4&63];f+="=="}else{if(o===2){e=(r[t-2]<<8)+r[t-1];f+=n[e>>10];f+=n[e>>4&63];f+=n[e<<2&63];f+="="}}i.push(f);return i.join("")}},{}]},{},[])("/")});(function(sm4){window.SM4=sm4;encrypt=1;decrypt=0;round=32;block=16;var sbox=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72];var ck=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];rotl=function(x,y){return x<>>(32-y)};byteSub=function(a){return(sbox[a>>>24&255]&255)<<24|(sbox[a>>>16&255]&255)<<16|(sbox[a>>>8&255]&255)<<8|(sbox[a&255]&255)};l1=function(b){return b^rotl(b,2)^rotl(b,10)^rotl(b,18)^rotl(b,24)};l2=function(b){return b^rotl(b,13)^rotl(b,23)};sms4Crypt=function(input,output,rk){var r,mid,x0,x1,x2,x3;x=new Array(4);tmp=new Array(4);for(var i=0;i<4;i++){tmp[0]=input[0+4*i]&255;tmp[1]=input[1+4*i]&255; tmp[2]=input[2+4*i]&255;tmp[3]=input[3+4*i]&255;x[i]=tmp[0]<<24|tmp[1]<<16|tmp[2]<<8|tmp[3]}for(r=0;r<32;r+=4){mid=x[1]^x[2]^x[3]^rk[r+0];mid=byteSub(mid);x[0]=x[0]^l1(mid);mid=x[2]^x[3]^x[0]^rk[r+1];mid=byteSub(mid);x[1]=x[1]^l1(mid);mid=x[3]^x[0]^x[1]^rk[r+2];mid=byteSub(mid);x[2]=x[2]^l1(mid);mid=x[0]^x[1]^x[2]^rk[r+3];mid=byteSub(mid);x[3]=x[3]^l1(mid)}for(var j=0;j<16;j+=4){output[j]=(x[3-j/4]>>>24&255);output[j+1]=(x[3-j/4]>>>16&255);output[j+2]=(x[3-j/4]>>>8&255);output[j+3]=(x[3-j/4]&255)}};sms4KeyExt=function(key,rk,flag){var r,mid;var x=new Array();var tmp=new Array(4);for(var i=0;i<4;i++){tmp[0]=key[0+4*i]&255;tmp[1]=key[1+4*i]&255;tmp[2]=key[2+4*i]&255;tmp[3]=key[3+4*i]&255;x[i]=tmp[0]<<24|tmp[1]<<16|tmp[2]<<8|tmp[3]}x[0]^=2746333894;x[1]^=1453994832;x[2]^=1736282519;x[3]^=2993693404;for(r=0;r<32;r+=4){mid=x[1]^x[2]^x[3]^ck[r+0];mid=byteSub(mid);rk[r+0]=x[0]^=l2(mid);mid=x[2]^x[3]^x[0]^ck[r+1];mid=byteSub(mid);rk[r+1]=x[1]^=l2(mid);mid=x[3]^x[0]^x[1]^ck[r+2];mid=byteSub(mid);rk[r+2]=x[2]^=l2(mid);mid=x[0]^x[1]^x[2]^ck[r+3];mid=byteSub(mid);rk[r+3]=x[3]^=l2(mid)}if(flag===decrypt){for(r=0;r<16;r++){mid=rk[r];rk[r]=rk[31-r];rk[31-r]=mid}}};sm4._gencode=_gencode=function(d,flag){point=0;inLen=16;var round_key=new Array(round);sms4KeyExt(d.key,round_key,flag);var input=new Array(16);var output=new Array(16);var out=[];while(inLen>=block){input=d.source.slice(point,point+16);sms4Crypt(input,output,round_key);out=out.concat(output);inLen-=block;point+=block}return out};function stringToByte(str){var bytes=new Array();var len,c;len=str.length;for(var i=0;i=65536&&c<=1114111){bytes.push(((c>>18)&7)|240);bytes.push(((c>>12)&63)|128);bytes.push(((c>>6)&63)|128);bytes.push((c&63)|128)}else{if(c>=2048&&c<=65535){bytes.push(((c>>12)&15)|224);bytes.push(((c>>6)&63)|128);bytes.push((c&63)|128)}else{if(c>=128&&c<=2047){bytes.push(((c>>6)&31)|192);bytes.push((c&63)|128)}else{bytes.push(c&255)}}}}return bytes}function pkcs5padding(input){var padding=16; if(input.length%16!=0){padding=16-input.length%16}var insit=new Array(input.length+padding);for(var i=0;i>>31)}var t=((a<<5)|(a>>>27))+e+W[i];if(i<20){t+=((b&c)|(~b&d))+1518500249}else{if(i<40){t+=(b^c^d)+1859775393}else{if(i<60){t+=((b&c)|(b&d)|(c&d))-1894007588}else{t+=(b^c^d)-899497514}}}e=d;d=c;c=(b<<30)|(b>>>2);b=a;a=t}H[0]=(H[0]+a)|0;H[1]=(H[1]+b)|0;H[2]=(H[2]+c)|0;H[3]=(H[3]+d)|0;H[4]=(H[4]+e)|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<(24-nBitsLeft%32);dataWords[(((nBitsLeft+64)>>>9)<<4)+14]=Math.floor(nBitsTotal/4294967296);dataWords[(((nBitsLeft+64)>>>9)<<4)+15]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();return this._hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});C.SM3=Hasher._createHelper(SM3);C.HmacSM3=Hasher._createHmacHelper(SM3)}());function SM3Digest(){this.BYTE_LENGTH=64;this.xBuf=new Array();this.xBufOff=0;this.byteCount=0;this.DIGEST_LENGTH=32;this.v0=[1937774191,1226093241,388252375,3666478592,2842636476,372324522,3817729613,2969243214];this.v0=[1937774191,1226093241,388252375,-628488704,-1452330820,372324522,-477237683,-1325724082];this.v=new Array(8);this.v_=new Array(8);this.X0=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.X=new Array(68);this.xOff=0;this.T_00_15=2043430169;this.T_16_63=2055708042;if(arguments.length>0){this.InitDigest(arguments[0])}else{this.Init()}}SM3Digest.prototype={Init:function(){this.xBuf=new Array(4);this.Reset()},InitDigest:function(t){this.xBuf=new Array(t.xBuf.length); Array.Copy(t.xBuf,0,this.xBuf,0,t.xBuf.length);this.xBufOff=t.xBufOff;this.byteCount=t.byteCount;Array.Copy(t.X,0,this.X,0,t.X.length);this.xOff=t.xOff;Array.Copy(t.v,0,this.v,0,t.v.length)},GetDigestSize:function(){return this.DIGEST_LENGTH},Reset:function(){this.byteCount=0;this.xBufOff=0;Array.Clear(this.xBuf,0,this.xBuf.length);Array.Copy(this.v0,0,this.v,0,this.v0.length);this.xOff=0;Array.Copy(this.X0,0,this.X,0,this.X0.length)},GetByteLength:function(){return this.BYTE_LENGTH},ProcessBlock:function(){var i;var ww=this.X;var ww_=new Array(64);for(i=16;i<68;i++){ww[i]=this.P1(ww[i-16]^ww[i-9]^(this.ROTATE(ww[i-3],15)))^(this.ROTATE(ww[i-13],7))^ww[i-6]}for(i=0;i<64;i++){ww_[i]=ww[i]^ww[i+4]}var vv=this.v;var vv_=this.v_;Array.Copy(vv,0,vv_,0,this.v0.length);var SS1,SS2,TT1,TT2,aaa;for(i=0;i<16;i++){aaa=this.ROTATE(vv_[0],12);SS1=Int32.parse(Int32.parse(aaa+vv_[4])+this.ROTATE(this.T_00_15,i));SS1=this.ROTATE(SS1,7);SS2=SS1^aaa;TT1=Int32.parse(Int32.parse(this.FF_00_15(vv_[0],vv_[1],vv_[2])+vv_[3])+SS2)+ww_[i];TT2=Int32.parse(Int32.parse(this.GG_00_15(vv_[4],vv_[5],vv_[6])+vv_[7])+SS1)+ww[i];vv_[3]=vv_[2];vv_[2]=this.ROTATE(vv_[1],9);vv_[1]=vv_[0];vv_[0]=TT1;vv_[7]=vv_[6];vv_[6]=this.ROTATE(vv_[5],19);vv_[5]=vv_[4];vv_[4]=this.P0(TT2)}for(i=16;i<64;i++){aaa=this.ROTATE(vv_[0],12);SS1=Int32.parse(Int32.parse(aaa+vv_[4])+this.ROTATE(this.T_16_63,i));SS1=this.ROTATE(SS1,7);SS2=SS1^aaa;TT1=Int32.parse(Int32.parse(this.FF_16_63(vv_[0],vv_[1],vv_[2])+vv_[3])+SS2)+ww_[i];TT2=Int32.parse(Int32.parse(this.GG_16_63(vv_[4],vv_[5],vv_[6])+vv_[7])+SS1)+ww[i];vv_[3]=vv_[2];vv_[2]=this.ROTATE(vv_[1],9);vv_[1]=vv_[0];vv_[0]=TT1;vv_[7]=vv_[6];vv_[6]=this.ROTATE(vv_[5],19);vv_[5]=vv_[4];vv_[4]=this.P0(TT2)}for(i=0;i<8;i++){vv[i]^=Int32.parse(vv_[i])}this.xOff=0;Array.Copy(this.X0,0,this.X,0,this.X0.length)},ProcessWord:function(in_Renamed,inOff){var n=in_Renamed[inOff]<<24;n|=(in_Renamed[++inOff]&255)<<16;n|=(in_Renamed[++inOff]&255)<<8;n|=(in_Renamed[++inOff]&255);this.X[this.xOff]=n; if(++this.xOff==16){this.ProcessBlock()}},ProcessLength:function(bitLength){if(this.xOff>14){this.ProcessBlock()}this.X[14]=(this.URShiftLong(bitLength,32));this.X[15]=(bitLength&(4294967295))},IntToBigEndian:function(n,bs,off){bs[off]=Int32.parseByte(this.URShift(n,24));bs[++off]=Int32.parseByte(this.URShift(n,16));bs[++off]=Int32.parseByte(this.URShift(n,8));bs[++off]=Int32.parseByte(n)},DoFinal:function(out_Renamed,outOff){this.Finish();for(var i=0;i<8;i++){this.IntToBigEndian(this.v[i],out_Renamed,outOff+i*4)}this.Reset();return this.DIGEST_LENGTH},Update:function(input){this.xBuf[this.xBufOff++]=input;if(this.xBufOff==this.xBuf.length){this.ProcessWord(this.xBuf,0);this.xBufOff=0}this.byteCount++},BlockUpdate:function(input,inOff,length){while((this.xBufOff!=0)&&(length>0)){this.Update(input[inOff]);inOff++;length--}while(length>this.xBuf.length){this.ProcessWord(input,inOff);inOff+=this.xBuf.length;length-=this.xBuf.length;this.byteCount+=this.xBuf.length}while(length>0){this.Update(input[inOff]);inOff++;length--}},Finish:function(){var bitLength=(this.byteCount<<3);this.Update((128));while(this.xBufOff!=0){this.Update((0))}this.ProcessLength(bitLength);this.ProcessBlock()},ROTATE:function(x,n){return(x<Int32.maxValue||number=0){return number>>bits}else{return(number>>bits)+(2<<~bits)}},URShiftLong:function(number,bits){var returnV;var big=new BigInteger();big.fromInt(number);if(big.signum()>=0){returnV=big.shiftRight(bits).intValue()}else{var bigAdd=new BigInteger();bigAdd.fromInt(2);var shiftLeftBits=~bits;var shiftLeftNumber=""; if(shiftLeftBits<0){var shiftRightBits=64+shiftLeftBits;for(var i=0;i>bits);var shiftLeftNumberBig=new BigInteger("10"+shiftLeftNumber,2);shiftLeftNumber=shiftLeftNumberBig.toRadix(10);var r=shiftLeftNumberBig.add(shiftLeftNumberBigAdd);returnV=r.toRadix(10)}else{shiftLeftNumber=bigAdd.shiftLeft((~bits)).intValue();returnV=(number>>bits)+shiftLeftNumber}}return returnV},GetZ:function(g,pubKeyHex){var userId=CryptoJS.enc.Utf8.parse("1234567812345678");var len=userId.words.length*4*8;this.Update((len>>8&255));this.Update((len&255));var userIdWords=this.GetWords(userId.toString());this.BlockUpdate(userIdWords,0,userIdWords.length);var aWords=this.GetWords(g.curve.a.toBigInteger().toRadix(16));var bWords=this.GetWords(g.curve.b.toBigInteger().toRadix(16));var gxWords=this.GetWords(g.getX().toBigInteger().toRadix(16));var gyWords=this.GetWords(g.getY().toBigInteger().toRadix(16));var pxWords=this.GetWords(pubKeyHex.substr(0,64));var pyWords=this.GetWords(pubKeyHex.substr(64,64));this.BlockUpdate(aWords,0,aWords.length);this.BlockUpdate(bWords,0,bWords.length);this.BlockUpdate(gxWords,0,gxWords.length);this.BlockUpdate(gyWords,0,gyWords.length);this.BlockUpdate(pxWords,0,pxWords.length);this.BlockUpdate(pyWords,0,pyWords.length);var md=new Array(this.GetDigestSize());this.DoFinal(md,0);return md},GetWords:function(hexStr){var words=[];var hexStrLength=hexStr.length;for(var i=0;i>>3]|=parseInt(arr[j])<<(24-(i%8)*4);j++}var wordArray=new CryptoJS.lib.WordArray.init(words,arr.length);return wordArray}};Array.Clear=function(destinationArray,destinationIndex,length){for(elm in destinationArray){destinationArray[elm]=null}};Array.Copy=function(sourceArray,sourceIndex,destinationArray,destinationIndex,length){var cloneArray=sourceArray.slice(sourceIndex,sourceIndex+length); for(var i=0;ithis.maxValue){var bigInteger=Number(n);var bigIntegerRadix=bigInteger.toString(2);var subBigIntegerRadix=bigIntegerRadix.substr(bigIntegerRadix.length-31,31);var reBigIntegerRadix="";for(var i=0;i255){var bigInteger=Number(n);var bigIntegerRadix=bigInteger.toString(2);return parseInt(bigIntegerRadix.substr(bigIntegerRadix.length-8,8),2)}else{return n}}}}; var tempKey="0755812204233002684164625270081412649504876654777843054821906076";var tempSM4Key="07558122042330026841646252700814";var tempSM3HmacKey="12649504876654777843054821906076";function packageEncryptForGYCCB(packageData,sm2Publickey){if(packageData==""){return""}if(tempKey==""){tempKey=RndNum(32)}if(tempSM4Key==""){tempSM4Key=RndNum(32)}if(tempSM3HmacKey==""){tempSM3HmacKey=RndNum(32)}var SM2Data=hex2b64(SM2Encrypt(tempKey,sm2Publickey));var tempData1=hex2b64(SM4.encodeForGYCCB({input:tempSM4Key,key:tempKey}));var tempData2=hex2b64(SM4.encodeForGYCCB({input:tempSM3HmacKey,key:tempKey}));var SM4Data=hex2b64(SM4.encode({input:packageData,key:tempSM4Key}));var SM3Data=hex2b64(SM3Hmac(packageData,tempSM3HmacKey));var reqdata=SM2Data+"|"+tempData1+"|"+tempData2+"|"+SM4Data+"|"+SM3Data;return reqdata}function packageEncrypt(packageData,sm2Publickey){if(packageData==""){return""}if(tempSM4Key==""){tempSM4Key=RndNum(32)}if(tempSM3HmacKey==""){tempSM3HmacKey=RndNum(32)}var SM4Data=hex2b64(SM4.encode({input:packageData,key:tempSM4Key}));var SM2Data=hex2b64(SM2Encrypt(tempSM4Key+tempSM3HmacKey,sm2Publickey));var SM3Data=hex2b64(SM3Hmac(packageData,tempSM3HmacKey));var reqdata=SM2Data+"|"+SM4Data+"|"+SM3Data;return reqdata}function packageDecrypt(packageData,orderid){if(packageData==""){return""}if(orderid==""){console.log("tempSM4Key is invalid.");return""}else{tempSM4Key=zeroFill(orderid,32); }if(tempSM3HmacKey==""){console.log("tempSM3HmacKey is invalid.");return""}var data=packageData.split("|");if(data.length==2){packageData=b64tohex(data[0]);var reqdata=SM4.decode({input:packageData,key:tempSM4Key});var SM3Data=hex2b64(SM3Hmac(reqdata,tempSM3HmacKey));if(SM3Data==data[1]){return reqdata}}else{packageData=b64tohex(packageData);var reqdata=SM4.decode({input:packageData,key:tempSM4Key});return reqdata}console.log("package Decrypt failed.");return""}function sm2StandardEncrypt(data,sm2Publickey){if(data==""){return""}var SM4Key=RndNum(32);var sm2data=SM2Encrypt(SM4Key,sm2Publickey);var SM4Data=SM4.encode({input:data,key:SM4Key});var reqdata="3030303030313234010200000168000000a40000"+sm2data+"303030303030"+stringtoHex((SM4Data.length)/2+"")+SM4Data; return hex2b64(reqdata)}function SM3Encrypt(data){var sm3dig=new SM3Digest();sm3dig.BlockUpdate(stringToByte(data),0,(stringToByte(data)).length);var c3=new Array(32);sm3dig.DoFinal(c3,0);return c3}function SM3Hash(data){var sm3dig=new SM3Digest();sm3dig.BlockUpdate(stringToByte(data),0,(stringToByte(data)).length);var c3=new Array(32);sm3dig.DoFinal(c3,0);return bin2hex(c3).toUpperCase()}function SM3EncryptByte(data){var sm3dig=new SM3Digest();sm3dig.BlockUpdate(data,0,data.length);var c3=new Array(32);sm3dig.DoFinal(c3,0);return bin2hex(c3).toUpperCase()}function CSIISM3Hmac(data,sm4Key){var byteSM3Hash=SM3Encrypt(data);var byteTempKey=Str2Bytes(sm4Key);var buf=new Array(32);for(var i=0;i<2;i++){for(var j=0;j<16;j++){buf[i*16+j]=byteSM3Hash[i*16+j]^byteTempKey[j]}}return SM3EncryptByte(buf)}function SM3Hmac(data,key){var keyLength=key.length;var i=0;if(keyLength<128){for(i=0;i<128-keyLength;i++){key=key+"0"}}var Bbyte_K=Str2Bytes(key);var Ipad=Str2Bytes("36363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636");var Opad=Str2Bytes("5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C5C");var buf=stringToByte(data);var bufLength=buf.length;var XOR1=new Array(64+bufLength);for(i=0;i<64;i++){XOR1[i]=Bbyte_K[i]^Ipad[i]}for(i=64;i<64+bufLength;i++){XOR1[i]=buf[i-64]}var hash1=Str2Bytes(SM3EncryptByte(XOR1));var XOR2=new Array(64+32);for(i=0;i<64;i++){XOR2[i]=Bbyte_K[i]^Opad[i]}for(i=64;i<64+32;i++){XOR2[i]=hash1[i-64]}return SM3EncryptByte(XOR2)}function stringToByte(str){var bytes=new Array();var len,c;len=str.length;for(var i=0;i=65536&&c<=1114111){bytes.push(((c>>18)&7)|240);bytes.push(((c>>12)&63)|128);bytes.push(((c>>6)&63)|128);bytes.push((c&63)|128)}else{if(c>=2048&&c<=65535){bytes.push(((c>>12)&15)|224);bytes.push(((c>>6)&63)|128);bytes.push((c&63)|128)}else{if(c>=128&&c<=2047){bytes.push(((c>>6)&31)|192); bytes.push((c&63)|128)}else{bytes.push(c&255)}}}}return bytes}function RndNum(n){var rnd="";for(var i=0;i>24&255));sm3keycur.Update((this.ct>>16&255));sm3keycur.Update((this.ct>>8&255));sm3keycur.Update((this.ct&255));sm3keycur.DoFinal(this.key,0);this.keyOff=0;this.ct++},InitEncipher:function(userKey){var k=null;var c1=null;var ec=new KJUR.crypto.ECDSA({"curve":"sm2"});var keypair=ec.generateKeyPairHex();k=new BigInteger(keypair.ecprvhex,16);var pubkeyHex=keypair.ecpubhex;c1=ECPointFp.decodeFromHex(ec.ecparams["curve"],pubkeyHex);this.p2=userKey.multiply(k);var xlen=this.p2.getX().toBigInteger().toRadix(16).length;var ylen=this.p2.getY().toBigInteger().toRadix(16).length;if(xlen+ylen<128){return""}this.Reset();return c1},EncryptBlock:function(data){this.sm3c3.BlockUpdate(data,0,data.length);for(var i=0;i>>4);result+=base.charAt(c&15)}return result},str2Bytes:function(str){var pos=0;var len=str.length;if(len%2!=0){return null}var hexA=new Array();for(;pos>>3]|=parseInt(arr[j])<<(24-(i%8)*4);j++}var wordArray=new CryptoJS.lib.WordArray.init(words,arr.length);return wordArray},Decrypt:function(privateKey,ciphertext){var hexString="04"+ciphertext;var c1X=hexString.substr(0,130);var encrypData=hexString.substr(c1X.length,hexString.length-c1X.length-64);var c3=hexString.substr(hexString.length-64);if(this.cipherMode==SM2CipherMode.C1C3C2){c3=hexString.substr(c1X.length,64);encrypData=hexString.substr(c1X.length+64)}var data=this.str2Bytes(encrypData); var c1=this.CreatePoint(c1X);this.InitDecipher(privateKey,c1);this.DecryptBlock(data);var c3_=new Array(32);this.Dofinal(c3_);var isDecrypt=this.bin2hex(c3_).toString()==c3;if(isDecrypt){var wordArray=CryptoJS.enc.Hex.parse(this.bin2hex(data));var decryptData=CryptoJS.enc.Utf8.stringify(wordArray);return decryptData}else{return""}},CreatePoint:function(pubkeyHex){var ec=new KJUR.crypto.ECDSA({"curve":"sm2"});var ecc_curve=ec.ecparams["curve"];var point=ECPointFp.decodeFromHex(ec.ecparams["curve"],pubkeyHex);return point}};window.SM2CipherMode={C1C2C3:"0",C1C3C2:"1"}; //将form表单实例化后数据转换成Json格式 $.fn.serializeJson=function(){ var serializeObj={}; var array=this.serializeArray(); $(array).each(function(){ if(serializeObj[this.name]){ if($.isArray(serializeObj[this.name])){ serializeObj[this.name].push(this.value); }else{ serializeObj[this.name]=[serializeObj[this.name],this.value]; } }else{ serializeObj[this.name]=this.value; } }); return serializeObj; }; var zeroFill=function(num,len){ let digit='',nlen=num.toString().length; for(let i=0;i