国家医保移动支付国密算法SM2签名验签、SM4加解密DLL
支持医保移动支付(国家统一版),
已知省份有广西、贵州、安徽、河北、黑龙江、湖南、吉林、江苏、四川、新疆等各地方。
DLL,非.net开发,所以无需安装配置,直接程序引用开发即可,支持各类开发语言。
有需要的私信联系我,weixin加feisng。
C#引用DLL声明:
//SM2签名与验签
[DllImport(“smtool.dll”, CharSet = CharSet.Ansi, EntryPoint = “gm_sign_key@24”, CallingConvention = CallingConvention.StdCall)]
private static extern int gm_sign_key(byte[] userid, byte[] prv_key, byte[] pub_key, byte[] msg, int msg_len, byte[] singrs);
[DllImport(“hsafsitool.dll”, CharSet = CharSet.Ansi, EntryPoint = “gm_verify_key@20”, CallingConvention = CallingConvention.StdCall)]
private static extern int gm_verify_key(byte[] userid, byte[] pub_key, byte[] msg, int msg_len, byte[] singrs);
//SM4加密与解密
[DllImport(“smtool.dll”, CharSet = CharSet.Ansi, EntryPoint = “gm_sm4_ecb_encrypt_key@16”, CallingConvention = CallingConvention.StdCall)]
private static extern int gm_sm4_ecb_encrypt_key(byte[] pub_key, byte[] plain, int plain_len, StringBuilder cipher);
[DllImport(“hsafsitool.dll”, CharSet = CharSet.Ansi, EntryPoint = “gm_sm4_ecb_decrypt_key@16”, CallingConvention = CallingConvention.StdCall)]
private static extern int gm_sm4_ecb_decrypt_key(byte[] pub_key, byte[] cipher, int cipher_len, byte[] plain);
PB引用DLL声明:
function long gm_sm4_ecb_encrypt_key(blob pub_key,blob plain,long plain_len,ref blob cipher) LIBRARY ” smtool.dll” alias for ” gm_sm4_ecb_encrypt_key@16″
C++引用DLL声明:
typedef int(*Gm_sm4_ecb_encrypt_key)( unsigned char *pub_key,unsigned char *plain, int plain_len, unsigned char *cipher);