`

JAVA实现3DES加密解密

    博客分类:
  • JAVA
阅读更多

代码如下:

package com.runant.util.encrpt.key;
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESedeKeySpec;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
/**
* 3DES加密解密工具
* @author ping
*
*/
public class DesEncrypt {
private Key key;
private static final String KEY_ALGORITHM = "DESede";
private static final String CIPHER_ALGORITHM = "DESede/ECB/PKCS5Padding";

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

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

/**
* 初始化Key对象
* @param keyText
* @return
*/
public void toKey(String keyText) {
DESedeKeySpec dks;
SecretKeyFactory factory =null;
if(check(keyText)){
try {
dks = new DESedeKeySpec(keyText.getBytes());
factory= SecretKeyFactory.getInstance(KEY_ALGORITHM);
this.key = factory.generateSecret(dks);
} catch (Exception e) {
e.printStackTrace();
}
}
}

/**
*
* @param 密钥keyText
* @return 校验密钥格式是否通过
*/
public boolean check(String keyText){
boolean flag = false ;
if(keyText!=null&&!"".equals(keyText.trim())){
if(keyText.trim().length()>=24){
flag = true ;
}
}
return flag ;
}

/**
* 加密
* @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中3DES加密解密示例(封装byte数组16进制互转)

    Java 中的 3DES 加密解密示例(封装 byte 数组和 16 进制字符串互转) 在 Java 中,3DES 加密是一种常用的加密算法,它可以将明文数据转换为密文数据,以保护数据的安全性。在本示例中,我们将展示如何使用 3DES ...

    3DES加密解密java版+js版

    在提供的文件`加密web.zip`和`java.zip`中,很可能包含了Java实现3DES加密解密的代码示例,以及可能用于Web端的JavaScript实现。这些代码可以帮助开发者理解如何在实际项目中跨平台地应用3DES加密技术。 3DES虽然...

    java和javascript之间的DES加密解密

    3. **JavaScript实现DES加密解密**: JavaScript中没有内置的DES库,通常需要依赖第三方库,如`crypto-js`。这个库提供了DES加密解密的功能,使用方式类似于Java,先生成密钥,然后调用相应的加密或解密函数。 4. ...

    des加密解密java实现版本

    本篇文章将详细阐述DES加密解密的Java实现过程。 首先,我们需要了解DES算法的基本原理。DES是一种块密码,它将明文数据分成64位的数据块进行处理,其中包含56位的密钥。通过一系列复杂的置换和代换操作,将明文块...

    基于Java实现的加解密方法(DES、3DES、AES)以及五种分组密码工作模式

    本教程主要探讨了如何使用Java编程语言实现DES(Data Encryption Standard)、3DES(Triple DES)和AES(Advanced Encryption Standard)这三种常见的对称加密算法,并且详细讲解了五种分组密码的工作模式。...

    3DES加密解密

    在压缩包中,"DES3.jar"可能是一个包含3DES加密解密功能的Java库文件,可以被其他Java项目导入并直接使用。"使用说明.txt"则提供了关于如何使用这个库以及调用相关加密解密方法的指南。在实际操作中,开发者会按照这...

    java的DES加密解密

    java的DES加密解密:用于密码在数据库的加密,解码类

    java代码-使用java解决3DES加密解密的源代码

    java代码-使用java解决3DES加密解密的源代码 ——学习参考资料:仅用于个人学习使用!

    3des加密解密

    在提供的文件列表中,`ThreeDES.java`和`Test3DES.java`很可能是3DES加密解密的Java实现代码。通常,这些类会包含用于设置密钥、初始化向量(IV)、加密和解密的函数。 - `ThreeDES.java`可能包含了3DES算法的核心...

    java 3des加密、解密工具类

    java 3des加密、解密工具类 java的3DES加密/解密

    java实现DES加密、解密算法

    本文将详细介绍如何在Java环境中实现DES加密和解密。 DES,全称为数据加密标准,基于Feistel密码结构,采用64位的密钥,但其中只有56位是真正参与加密过程的。DES分为两个主要阶段:加密和解密,这两个过程使用相同...

    小程序+java后端统一 des 加密解密

    总的来说,小程序与Java后端使用DES加密解密是数据安全的一种基础实践,但考虑到当前的网络安全需求,可能需要结合其他更强的加密技术以及安全策略来提升整体的安全水平。在实际应用中,还需要关注相关的法律法规,...

    实现使用3des在页面js加密,后台java解密

    本篇将详细介绍如何在网页前端使用JavaScript进行3DES加密,并在后端Java环境中进行解密。 一、3DES加密原理 3DES是DES的加强版,它使用了3个不同的56位密钥,通过3次独立的DES加密过程来提高安全性。具体流程如下...

    3DES加密java实现

    在Java中,我们可以使用`javax.crypto`包中的`Cipher`类来实现3DES加密和解密。首先,我们需要创建一个`SecretKeySpec`对象,用于存储我们的密钥。密钥长度可以是128位(16字节),但3DES实际只使用其中的112位或168...

    DES加密解密java工具类

    DES加密解密java工具类 public static final String KEY_ALGORITHM = "DES"; public static final String CIPHER_ALGORITHM = "DES/ECB/PKCS5PADDING"; validKeySpecException, NoSuchPaddingException, ...

    Java实现的3des加密解密工具类示例

    Java实现的3DES加密解密工具类示例 【Java实现的3DES加密解密工具类】 Java实现的3DES加密解密工具类是指使用Java语言实现的三重数据加密算法工具类,该工具类提供了加密和解密两种操作模式,通过设置密钥和加密/...

    java_DES加密解密源码.rar_DES加密_des_java DES_java des_加密 解密

    Java实现des加密解密算法,des加密解密算法

    Des.JAVA.rar_DES.java_DES加密_java DES 128bit_java des_加密解密

    总的来说,这个压缩包提供了一套完整的Java实现的DES加密解密工具,包括核心算法、子密钥生成、文件加密等功能,对于学习DES算法和在Java项目中使用DES加密的开发者来说,是一个非常实用的资源。使用者可以通过阅读...

Global site tag (gtag.js) - Google Analytics