functionSM2Encrypt(a, b) { var c = new SM2Cipher(0); return a = c.str2Bytes(a.toString()), c.Encrypt(b, a).toUpperCase() } functionSM3Encrypt(a) { var b = new SM3Digest; b.BlockUpdate(stringToByte(a), 0, stringToByte(a).length); var c = newArray(32); return b.DoFinal(c, 0), bin2hex(c).toUpperCase() }
functionpackageEncrypt(a, b) { if ("" == a) return""; "" == tempSM4Key && (tempSM4Key = RndNum(32)); var c = hex2b64(SM4.encode({ input: a, key: tempSM4Key })); return hex2b64(SM2Encrypt(tempSM4Key, b)) + "|" + c + "|" + hex2b64(SM3Encrypt(a)) }
1 2 3 4 5 6 7 8 9
SM2Encrypt(tempSM4Key, b) '32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A02C7A25FB8D8DBD819C1B2494B755522B7CE797489070293899C6B7F30AD1B6811D94A432C395E680FF3CA0AA23D13BAF'
tempSM4Key '42778414458168935259260682648582'
b 'dedac887bb79feab24ce21ae6b112feeb7f3160e54c60df59d19de85361b3eaeecc92b773bf9b87d40d4c8afbd61c6753b6aa333665f6ce30fcad71e99206751'