仿抖音短视频APP源码,AES加密工具类封装

简介: 仿抖音短视频APP源码,AES加密工具类封装
import android.util.Base64;

import java.security.MessageDigest;
import java.security.spec.AlgorithmParameterSpec;

import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;

public class AES64 {

   private final Cipher cipher;
   private final SecretKeySpec key;
   private AlgorithmParameterSpec spec;
   // 密钥
   public static final String SEED_16_CHARACTER = "更换成自己的密钥";

   public AES64() throws Exception {
      // hash password with SHA-256 and crop the output to 128-bit for key
      MessageDigest digest = MessageDigest.getInstance("SHA-256");//AES-256-CBC
      digest.update(SEED_16_CHARACTER.getBytes("UTF-8"));
      byte[] keyBytes = new byte[32];
      System.arraycopy(digest.digest(), 0, keyBytes, 0, keyBytes.length);
      cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
      key = new SecretKeySpec(keyBytes, "AES");
      spec = getIV();
   }

   public AlgorithmParameterSpec getIV() {
      byte[] iv = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, };
      IvParameterSpec ivParameterSpec;
      ivParameterSpec = new IvParameterSpec(iv);
      return ivParameterSpec;
   }

   /**
    * 加密
    * @param plainText
    * @return
    * @throws Exception
    */
   public String encrypt(String plainText) throws Exception {
      cipher.init(Cipher.ENCRYPT_MODE, key, spec);
      byte[] encrypted = cipher.doFinal(plainText.trim().getBytes("UTF-8"));
      String encryptedText = new String(Base64.encode(encrypted,
            Base64.DEFAULT), "UTF-8");
      encryptedText = encryptedText.replace("\n", "");
      return encryptedText;
   }

   /**
    * 解密
    * @param cryptedText
    * @return
    * @throws Exception
    */
   public String decrypt(String cryptedText) throws Exception {
      cipher.init(Cipher.DECRYPT_MODE, key, spec);
      byte[] bytes = Base64.decode(cryptedText, Base64.DEFAULT);
      byte[] decrypted = cipher.doFinal(bytes);
      String decryptedText = new String(decrypted, "UTF-8");
      return decryptedText;
   }

}

以上就是仿抖音短视频APP源码,AES加密工具类封装相关的代码, 更多内容欢迎关注之后的文章

目录
相关文章
|
30天前
|
数据安全/隐私保护
使用加密工具类进行有效的字符串加密——CSDN博客
使用加密工具类进行有效的字符串加密——CSDN博客
14 0
|
Java 数据安全/隐私保护
Java实现最电话号码的简单加密源码
Java实现最电话号码的简单加密源码
17 0
|
30天前
|
数据安全/隐私保护
常用的字符串加密解密工具类
常用的字符串加密解密工具类
12 0
|
10天前
|
监控 数据可视化 安全
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
环境实时数据、动态监测报警,实时监控施工环境状态,有针对性地预防施工过程中的环境污染问题,打造文明生态施工,创造绿色的生态环境。
8 0
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
游戏直播APP平台开发多少钱成本:定制与成品源码差距这么大
开发一款游戏直播APP平台所需的费用是多少?对于计划投身这一领域的投资者来说,首要关心的问题之一就是。本文将探讨两种主要的开发模式——定制开发与成品源码二次开发的成本差异及其优劣势。
|
30天前
|
传感器 人工智能 数据可视化
Java智慧工地监管一体化云平台APP源码 SaaS模式
高支模监测:高支模立杆及倾斜角度,高支模立杆的荷载,架体的水平位移以及模板沉降情况,当检测数据超过预警值时,实时报警。
30 2
|
30天前
|
人工智能 监控 前端开发
Java智慧城管系统源码 数字城管APP系统源码 城市管理综合执法监督系统源码
Java编写的智慧城管系统源码,包含数字城管APP和综合执法监督系统,运用物联网、云计算等技术实现城市全面智慧管理。系统采用微服务架构,Java开发,结合vue前端框架和SpringBoot后端框架,支持MySQL数据库和uniapp移动端。功能模块包括执法办案、视频分析、统计分析等,提升案件办理和监管效能,促进行政执法创新,实现电子送达和非接触执法。
19 1
|
1月前
|
前端开发 API 数据处理
uni-app 封装api请求
uni-app 封装api请求
14 0
|
1月前
|
编解码 小程序 算法
短剧系统开发(网页版/APP/小程序)丨短剧系统开发运营版及源码出售
短剧系统开发功能旨在为用户提供观看、分享和交流短剧作品的平台,涉及多种功能和特性,
|
2月前
|
存储 安全 算法
【接口加密】Java中的接口加密实践
【接口加密】Java中的接口加密实践