`

JAVA实现AES加密解密工具类

    博客分类:
  • JAVA
阅读更多

package com.runant.util.encrpt.key;
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
/**
*AES加密解密工具类
*/
public class AESEncrypt {
private Key key;
private static final String KEY_ALGORITHM = "AES";
private static final String CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding";

/**
* 默认构造函数
*/
public AESEncrypt() {

}
/**
* 构造函数,初始化Key
* @param keyStore
*/
public AESEncrypt(String keyStore) {
this.ininKey(keyStore);
}

/**
* 初始化Key对象
* @param keyText
* @return
*/
public void ininKey(String keyText) {

SecretKey secretKey = new SecretKeySpec(keyText.getBytes() ,KEY_ALGORITHM) ;
this.key = secretKey ;
}

/**
* 加密
* @param 明文 inputText
* @return 密文 outputText
*/
public String getEncString(String inputText) {
Cipher cipher = null;
String outputText = null ;
try {
cipher =Cipher.getInstance(CIPHER_ALGORITHM) ;
cipher.init(Cipher.ENCRYPT_MODE, this.key) ;
outputText= Base64.encode(cipher.doFinal(inputText.getBytes("UTF8")));
} catch (Exception e) {
e.printStackTrace();
}finally{
cipher= null;
}
return outputText;
}


/**
* 解密
* @param 密文 inputText
* @return 明文 outputText
*/
public String getDesString(String inputText) {
Cipher cipher = null;
String outputText = null ;
try {
cipher =Cipher.getInstance(CIPHER_ALGORITHM) ;
cipher.init(Cipher.DECRYPT_MODE, this.key) ;
outputText= new String(cipher.doFinal(Base64.decode(inputText)));
} catch (Exception e) {
e.printStackTrace();
}finally{
cipher= null;
}
return outputText;
}
}

分享到:
评论

相关推荐

    java中aes加密解密工具类

    java中aes加密解密工具类

    Qt实现AES加密解密

    这个程序应当包含了上述知识点的具体应用,你可以通过阅读源代码、编译和运行来进一步理解和学习AES加密解密的实现细节。这个实战例程可以帮助开发者更好地掌握Qt环境下的加密解密操作,提高数据安全保护能力。

    java使用Hex编码解码实现Aes加密解密功能示例

    在本文示例中,我们关注的是如何利用Java的Hex编码和解码来处理AES加密和解密的过程。 首先,让我们了解什么是Hex编码。Hex编码是一种将二进制数据转换为可打印字符的表示方式,每个字节被转换为两个十六进制数字...

    JS实现AES-GCM加密,java实现AES-GCM解密。.md

    在工作中会经常遇到密码加密,URL传参要进行加密,在此我参照一个例子将用java实现的AES加解密程序用实例写出。JS实现AES-GCM加密,java实现AES-GCM解密

    java的AES加密解密

    本篇将详细介绍Java实现AES加密解密的原理与实践。 AES是一种块密码,它以128位(16字节)的数据块作为处理单位,通过多次替换、置换等操作来实现加密。AES有三个关键参数:密钥长度(128、192或256位)、轮数(10...

    c/c++ 与java互通 AES加密解密,算法ECB

    压缩包里有两个工程,一个vc6.0一个myeclipse,本帖是修复贴,原帖地址c/c++ 与java互通 AES加密解密,算法ECB/PKCS5PADDING http://download.csdn.net/download/wangsonghiweed/4328267 -来自CSDN,有童鞋反映有...

    delphi 和java的AES加密解密

    delphi7和java通用的AES加密和解密

    c AES, c++ AES, java AES, 互通, 加密解密

    在本文中,我们将探讨如何在C、C++和Java之间实现互通的AES加密解密方法,以及如何不依赖外部加密库,仅通过基本的字符和数组操作来实现这一过程。 首先,理解AES的工作原理至关重要。AES由一系列的替换和转换步骤...

    C# AES加密解密小工具

    本项目“C# AES加密解密小工具”提供了一个简单的AES ECB模式加密和解密实现,适用于对文本文件进行安全处理。 首先,AES是一种块密码,它将明文分成128位的块进行操作。ECB(Electronic Codebook)模式是最基础的...

    java前后端通讯AES加密及解密样例

    通过这个案例,我们可以看到在Spring Boot项目中实现AES加密解密的基本步骤。然而,实际项目中还应考虑其他安全措施,例如使用HTTPS协议、密钥的动态生成和安全存储、以及对称加密与非对称加密的结合使用等,以增强...

    AES加密解密工具类

    JAVA AES加密和解密的工具类。 这个AES加密可用于Android,和java端俩种情况。

    AES加密工具类

    AES加密解密工具类,解决windows下和linux加密解密不同问题。

    AES加密算法(java实现).zip_aes java_cmM0 解密_java aes加密 demo_js aes加密算法_

    这个压缩包文件可能包含了Java实现AES加密和解密的代码示例,适合初学者了解和学习AES加密的基本使用。由于描述中提到"有些许不足,谨慎下载",可能意味着示例代码可能存在一些问题或者不完善的地方,需要用户自行...

    AES加密解密的前台js文件和后台java工具类

    这个压缩包文件包含了用于前台JS和后台Java进行AES加密解密的工具类,使得在客户端与服务器端的数据传输过程中,能够确保信息的安全性。 在前端JS中,AES加密通常用于对敏感数据如用户密码、身份信息等进行处理,...

    android AES加密工具类

    android 可以使用的 AES加密工具类

    RSA+AES 加密工具类 Java

    在这个“RSA+AES加密工具类 Java”中,我们将深入探讨这两种加密技术以及如何在Java环境中,包括Android和Web应用,实现它们。 首先,RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,基于大整数因子分解的困难...

    AES256加密工具类,及其所必须的jar包

    总之,这个资源提供了实现AES256加密和解密的Java工具类,依赖于Bouncy Castle库和一个Base64编码库。开发者可以将这个工具类集成到他们的项目中,以方便地进行数据加密,从而提高应用程序的安全性。

    Java AES对称加密工具类Utils

    综合网上的AES加密,把其做成一个工具类,方便加密解密的实现

    AES加密解密 java实现

    在实际项目中,`AESjava`压缩包可能包含了AES加密解密的工具类或库,方便开发者直接调用,避免重复编写相同功能的代码。这些工具类通常会提供更多的选项,如选择加密模式、填充方式,以及支持从字符串或文件读取密钥...

Global site tag (gtag.js) - Google Analytics