研究了别人使用SM4算法底层使用了org.bouncycastle.jcajce.provider.symmetric.util包的BaseBlockCipher类的engineDoFinal(byte[],int,int):byte[]
http://www.bouncycastle.org/latest_releases.html
bcpkix-jdk15on-151.jar(提供证书生成类);
bcprov-ext-jdk15on-151.jar(提供工具类ANSI等);下载地址:http://www.bouncycastle.org/latest_releases.html,里面有源码和JAR包非常全。
AES五种加密模式(CBC、ECB、CTR、OCF、CFB)
分组密码有五种工作体制:
1.电码本模式(Electronic Codebook Book (ECB));
2.密码分组链接模式(Cipher Block Chaining (CBC));
3.计算器模式(Counter (CTR));
4.密码反馈模式(Cipher FeedBack (CFB));
5.输出反馈模式(Output FeedBack (OFB))
算法包
BC指Bouncy Castle
CC指Commons Codec
都是第三方拓展包
相关依赖
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.67</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.67</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
```
commons-codec官网地址:https://commons.apache.org/proper/commons-codec/
cc最新为1.15,没有国产机密算法的实现