JuneAndGreen / sm-crypto

国密算法js版
MIT License
954 stars 254 forks source link

SM2加解密不支持ANS1(C1C3C2)格式 #118

Open dlzhangjoy opened 3 months ago

dlzhangjoy commented 3 months ago

SM2加解密目前只支持C1C3C2、C1C2C3,而标准应该是ANS1(C1C3C2)

changhr2013 commented 3 months ago

用 ASN1.js 库编一下码就可以了,这个没啥标准不标准的,真实场景下裸 C1C3C2 反而用的更多。

dlzhangjoy commented 3 months ago

ANS1格式还是有一些用的,SM2签名都支持ANS1格式,加密也可以支持一下嘛

winyoung commented 2 months ago

用 ASN1.js 库编一下码就可以了,这个没啥标准不标准的,真实场景下裸 C1C3C2 反而用的更多。

大佬具体怎么弄,现在就是跟后端加密结果对不上了

changhr2013 commented 2 months ago

参考下:https://github.com/dromara/hutool/issues/3466 吧,原理不复杂,最近忙,估计没时间写 js 的示例

winyoung commented 2 months ago

参考下:dromara/hutool#3466 吧,原理不复杂,最近忙,估计没时间写 js 的示例

我搞出来了,测试没问题,提个pr大佬看看能用吗

winyoung commented 2 months ago

参考的sm-crypto-v2

hhcgq commented 2 months ago

参考的sm-crypto-v2

最好再加个这个 https://github.com/Cubelrti/sm-crypto-v2/commit/55569c55235c0a82525b142ea9a4f8a2669654ce

上次写邮件给作者提的问题:加密的字符串中包含引号时,解密操作无法成功完成 后来作者修改了下这边的代码