失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 国密算法SM4加密 SM4解密示例(二)

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

时间:2019-08-30 03:11:15

相关推荐

国密算法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下载频道./download/wdsfeisng/31813059

如果觉得《国密算法SM4加密 SM4解密示例(二)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。