程序媛刘刘 2023-01-10 12:43 采纳率: 22.2%
浏览 16
已结题

如何在学习国密加密方法时SM2方法?

在学习国密加密方法时SM2方法,使用前端解密,返回空白,麻烦帮忙看下
var SM2Key={
    // publicKey:SM2.generateKeyPairHex().publicKey , //公钥
    // privateKey:SM2.generateKeyPairHex().privateKey , //私钥
    publicKey:'042d0b79a4c6c699ef1db0af78ec4db6d95893dd3a52e8edde006cae152e73bd899aaa12def2b02570e30fc25d4bff6f2123860e404d26ff94c6258d33a30622e6' , //公钥
    privateKey:'da1bbdcc175c3d9e70de40d3ee1da6bd19210e17e9eb67b6fee34a6529015b82' , //私钥
    // compressedPublicKey :SM2.compressPublicKeyHex(publicKey) , //压缩公钥
    // SM2.comparePublicKeyHex(publicKey, compressedPublicKey)  判断压缩前后公钥是否等价
    // verifyResult :SM2.verifyPublicKey(this.publicKey),  //验证公钥
    cipherMode : 1,             // 1 - C1C3C2,0 - C1C2C3,默认为1
    encrypt:function (msg) {
        // console.log(this.publicKey);
        return SM2.doEncrypt(msg, this.publicKey, this.cipherMode)
    },
    decrypt:function(msg){
        // console.log( this.privateKey);
        return SM2.doDecrypt(msg, this.privateKey, this.cipherMode) 



// SM2Key
    let str4=SM2Key.encrypt('0000000000000')
    console.log(str4);
    console.log(SM2Key.decrypt(str4));
    console.log(`--------SM2Key加密---------`);
    }

}

  • 写回答

1条回答 默认 最新

  • heart_6662 2023-01-11 11:36
    关注

    望采纳!!!点击回答右侧采纳即可!!
    返回空白的可能原因之一是使用的公钥或私钥不正确。
    你可以检查它们是否匹配,以确保它们是正确的。还可能是加密和解密使用的模式不匹配。
    你可以尝试更改 cipherMode 的值并重试。
    还有可能是你加密的文本为空或者字符串长度过短。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月19日
  • 已采纳回答 1月11日
  • 创建了问题 1月10日

悬赏问题

  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果