国密算法SM4加密、SM4解密示例(二)

虽然都是国密算法SM4,但是随着厂商不一样,每个厂商的使用方法不一样,导致厂商提供的测试SM4密钥不一样,SM4结果也不一样;区分CBC、ECB等各种模式。今天就给大家介绍一些示例,都是各种对接过程中的存货,会拆分成几个文章进行讲解。

SM4密钥:3046022100c3866c14853c82d71c8908cac7ddddf98aa255c824faa2d725fee62026ebd0a4022100b299665056ccf6f73ca179c0c6caa6e6d58811fdd3c63d834881a4c31d325132

实际密钥是使用paddingKey获取16位。

private static byte[] paddingKey(byte[] key, int bit)
        {
            byte[] padded = new byte[bit];
            if (key.Length < bit)
            {
                Array.Copy(key, 0, padded, 0, key.Length);
            }
            else if (key.Length > bit)
            {
                Array.Copy(key, 0, padded, 0, bit);
            }
            return padded;
        }

IV:pay-brand-open.1

待加密字符串:{"ecToken":"xxxxxxxxxssssssss","idNo":"340100198808089999","idType":"01","insuOrg":"010203","userName":"测试人员"}

使用CBC模式进行SM4加密结果:

b7694c7576c789d46834e83b54b9196a39f97db09371685ecf9a40239eea6b843d10c348ad858b85be63c09c408287517957163ec5ee8768e9d614b13c43a86dd0ffc29923860eff21e8d7daa7e3c2042e2491b46cc6b249facd65caf544ed28b875021c0354d7be819b9ae9924f15b77806657efd9f48109b0f671a06d5f94f

部分代码示例:

            string key = txtSM4Key.Text;
            byte[] bKey = System.Text.Encoding.UTF8.GetBytes(key);
            byte[] iv = System.Text.Encoding.UTF8.GetBytes("pay-brand-open.1");
            richTextBox2.Text = SM4Utils.EncryptCBC(paddingKey(bKey, 16), iv, richTextBox1.Text);

国密算法DLL下载:国密SM4加解密SM2签名验签COM组件DLL.rar_delphi7sm4-其它文档类资源-CSDN下载提供给第三方软件,调用COM组件DLL方式进行实现,如delphi、PB等。调用方法与黑龙江省医保社delphi7sm4更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/wdsfeisng/31813059

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

feisng0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值