/**
  * 加密数据
  *
  * @param data 待加密数据
  * @param key 密钥
  * @return 加密后的数据
  */
 public static String encrypt(String data, String key) throws Exception {
   Key k = toKey(Base64.decodeBase64(key)); // 还原密钥
   // 使用PKCS7Padding填充方式,这里就得这么写了(即调用BouncyCastle组件实现)
   // Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM, "BC");
   Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM); // 实例化Cipher对象,它用于完成实际的加密操作
   cipher.init(Cipher.ENCRYPT_MODE, k); // 初始化Cipher对象,设置为加密模式
   return Base64.encodeBase64String(
       cipher.doFinal(data.getBytes())); // 执行加密操作。加密后的结果通常都会用Base64编码进行传输
 }
Esempio n. 2
0
 public static String encrypt(String value) {
   if (!value.isEmpty()) {
     try {
       return Base64.encodeBase64String(value.getBytes());
     } catch (Exception ex) {
       ex.printStackTrace();
     }
   }
   return value;
 }
Esempio n. 3
0
 @Override
 public String toString() {
   return Base64.encodeBase64String(encode());
 }
 /** 生成密钥 */
 public static String initkey() throws Exception {
   KeyGenerator kg = KeyGenerator.getInstance(KEY_ALGORITHM); // 实例化密钥生成器
   kg.init(128); // 初始化密钥生成器:AES要求密钥长度为128,192,256位
   SecretKey secretKey = kg.generateKey(); // 生成密钥
   return Base64.encodeBase64String(secretKey.getEncoded()); // 获取二进制密钥编码形式
 }