tet_20210804205958.js 1.02 KB
const sm2 = require('sm-crypto').sm2

function getKeys(secret) {
  // const hash = createHash(Buffer.from(secret))

  // const m = new Uint8Array(nacl.sign.seedLength)
  // for (let i = 0; i < m.length; i++) m[i] = hash[i]

  // const keypair = nacl.sign.keyPair.fromSeed(m)
  /**
   *  {
  publicKey: '0x10d15cb4a3747d9bcf6339ef7b1d8462e86da595e7da3f4dd17bb1b7e3b43cf9c67e41a439ec1ddae15e697b71bbfa2c4f662fce5105fc21c404df9ddae513f7',
  privateKey: '5c3e9a13ff5618cca46bdf5780c4391e89af27eeea044c90ad9684f4fb51c453'
}
   */
  const hash=sm3(secret)
  const keypair =sm2.generateKeyPairHexByHashValue(hash)
  let sigValueHex = sm2.doSignature(secret, keypair.privateKey)
  let verifyResult = sm2.doVerifySignature(secret, sigValueHex, keypair.publicKey) 
  console.log(verifyResult)
  return {
    publicKey: (keypair.publicKey),
    privateKey: (keypair.privateKey)
  }
  
}
function bufToHex(data) {
  return Buffer.from(data).toString('hex')
}
console.log(getKeys("enter boring shaft rent essence foil trick vibrant fabric quote indoor output"))