26 lines
859 B
JavaScript
26 lines
859 B
JavaScript
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);
|