概述:
简单说使用AES加密,首先需要了解以下四个属性:
- 密钥长度(Key Size)
- 加密模式(Cipher Mode)
- 填充方式(Padding)
- 初始向量(Initialization Vector)
实际项目开发中,前(Android/ios)端与后端(java)需要使用相同的属性值去加解密,以达到数据的安全传输,另外还有一个约定一个密钥值。
个人项目中使用
密钥长度(Key Size) : 128
加密模式(Cipher Mode) : ECB
填充方式(Padding) : PKCS5Padding (ios用kCCOptionPKCS7Padding)
初始向量(Initialization Vector):ECB模式下不需要
代码:
一、Java:
- 只需要引入Cipher架包
2.代码实现:
import org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Decoder;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.spec.SecretKeySpec;
public class AesUtil {
// 加密模式ECB 填充方式PKCS5Padding
private static final String ALGORITHMSTR = "AES/ECB/PKCS5Padding";
//data加密