phpsm2sm3sm4
phpsm2sm3sm4 copied to clipboard
php版本,支持国密SM2的签名算法,非对称加解密,SM3的hash, SM4的对称加解密
密文:(base64)L1R0VmZsY0wrazVXdjJnSUNETDJybHZyc2t6WUt5QVE4U21XK0hKTXBuVXhnVUg5aVlmNWg5NEJSdU42aVkzUUMzQmxJekcycXhZc1duYzAydnQvZXc9PQ== ErrorException in Sm4.php line 299 未定义数组下标: 2
sm2 解密失败
Curve curve(115792089210356248756420345214020892766250353991924191454421193933289684991996, 18505919022281880113072981827955639221458448578012075254857346196103069175443, 115792089210356248756420345214020892766250353991924191454421193933289684991999) does not contain point (2137854832359249130018667759494391183761873155309590729559322389203168722373, 111751830531928666539205041330488512151142167531666828532858683705993727777102)
### CODE ```php use Rtgm\util\MyAsn1; use Rtgm\util\FormatSign; use Rtgm\sm\RtSm2 as CryptSM2; require __DIR__.'/vendor/autoload.php'; $privateKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; $publicKey = 'fc436395c7acae80aa3d760dd85375ad0b5b467c4897c7cef99d3f0c76b3f4e616c73df6df4dede213bf16f8047f83a78ebe668bc87c6e4b7c783b9fa5df6f52'; // $sign = 'a940d1ae40f5438c87cce9acf2da090cc23f6c4daa11ae77ef802d6d09dc9d39752d06cef0368e403bfc7f772a2420506c2018e1215a0dee10428b8b24427307'; $sign = '3b0a4dfac9fdc877cbe9e1f428791d7fc354812f16b4590523610bd3d1cb7b33bb6b8f1bc8cf709ac5096a005077412623c94a96aa4e5036645c7d606ff9969d'; $demoText = '123'; $format...
我用php加密的数据,java解密报错(java.lang.IllegalArgumentException: Invalid point encoding 0x-1e),下面是php代码和java代码 php代码 /** * phpSm2加密 */ public static function doEncrypt($arguments) { $m2EncryptData = self::$sm2->doEncrypt($arguments, self::$publicKey, C1C2C3); $result = bin2hex(base64_encode(hex2bin($m2EncryptData))); return $result; } java代码 package com.aisino.risk.detection.business.util; import...