lpilp / phpsm2sm3sm4

php版本,支持国密SM2的签名算法,非对称加解密,SM3的hash, SM4的对称加解密
320 stars 74 forks source link

请问是否支持Sm2WithSm3加密? #16

Closed billsix123 closed 2 years ago

billsix123 commented 2 years ago

请问是否支持Sm2WithSm3加密?

lpilp commented 2 years ago

你是指sm2withsm3的hash吧, sm2的签名的hash使用的就是sm2withsm3, /src/sm/RtSm2.php 的 301行中 做的hash就是sm2withsm3 ''' protected function _doS3Hash( $document, $pubKeyX, $pubKeyY, $generator, $userId ) { $hasher = new Sm2WithSm3(); $hash = $hasher->getSm3Hash( $document, $pubKeyX, $pubKeyY, $generator, $userId ); return gmp_init( Hex2ByteBuf::ByteArrayToHexString( $hash ), 16 ); } '''

billsix123 commented 2 years ago

不是的 , 是签名就采用SM2withSM3签名算法,签名方式为PKCS#1裸签名 , 同时验签也是用的SM2withSM3

lpilp commented 2 years ago

这个就不太知道了,你试下,我觉得就是 我说的那个,裸签名就是 $hash = $hasher->getSm3Hash( $document, $pubKeyX, $pubKeyY, $generator, $userId ); 这个值, bin2hex($hash)

lpilp commented 2 years ago

或者你 给个例子,我试下是哪种签名

billsix123 commented 2 years ago

感谢感谢 , 已经实现了->doSign就可以直接签

lpilp commented 2 years ago

哦,看来是在在命名上理解差异的问题 ^_^