const smCrypto = require('sm-crypto'); console.log('=== 调试 sm-crypto API ==='); console.log('sm-crypto 模块:', Object.keys(smCrypto)); console.log('sm2 对象:', Object.keys(smCrypto.sm2)); console.log('sm3 对象:', typeof smCrypto.sm3); // 测试 SM3 const testData = 'test'; const hash = smCrypto.sm3(testData); console.log('\nSM3 哈希:', hash); // 生成密钥对 const keypair = smCrypto.sm2.generateKeyPairHex(); console.log('\n生成的密钥对:'); console.log(' 私钥:', keypair.privateKey.substring(0, 20) + '...'); console.log(' 公钥:', keypair.publicKey.substring(0, 20) + '...'); // 签名 const sig = smCrypto.sm2.doSignature(hash, keypair.privateKey); console.log('\n签名:', sig); // 验证签名 const verifyResult = smCrypto.sm2.doVerifySignature(hash, sig, keypair.publicKey); console.log('验证结果:', verifyResult);