`
wooce
  • 浏览: 184138 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于java的IDEA加密算法

    博客分类:
  • Java
阅读更多
上http://www.bouncycastle.org/ 下载那个bouncy castle crypto API, 把
它的jar包加进来以后, 用以下一段很短的代码就可以实现IDEA加密了, good luck!

import org.bouncycastle.crypto.BufferedBlockCipher;
import org.bouncycastle.crypto.CipherParameters;
import org.bouncycastle.crypto.params.KeyParameter;
import org.bouncycastle.crypto.engines.IDEAEngine;
import org.bouncycastle.util.encoders.Base64;
/**
* User: wooce
* Date: 2003-9-10
* Time: 10:36:05
*/
public class IDEAEncrypt {
private BufferedBlockCipher cipher;
private String key;

public IDEAEncrypt(String key) {
cipher = new BufferedBlockCipher(new IDEAEngine());
this.key = key;
}

public byte[] encrypt(String str) {
CipherParameters param = new KeyParameter(key.getBytes());
cipher.init(true, param);

int len = str.length();
if (str.length() % 8 > 0)
len -= str.length() % 8;
byte[] cleartext = new byte[str.length()];
System.arraycopy(str.getBytes(), 0, cleartext, 0, str.length());
byte[] out = new byte[cleartext.length];

if (len > 0)
cipher.processBytes(cleartext, 0, cleartext.length, out, 0);
if (str.length() % 8 > 0) {
int j = 0;
for (int i = str.length() - 1; j < str.length() % 8; i--) {
j++;
out[i] = (byte) (cleartext[i] ^ 197);
}
}
byte[] finalOut = Base64.encode(out);
return finalOut;
}
}
分享到:
评论
1 楼 lteb2002 2009-03-02  
IDEA是对称加密,有了加密的部分?那解密的在哪呢?

相关推荐

    基于Java的IDEA加密算法探讨

    本文介绍了在JAVA环境下如何实现IDEA对称加密算法。由于电子商务和电子政务的普及,安全加密技术在其中应用非常广泛,对安全加密技术的要求也很高。目前在JAVA环境下实现IDEA加密具有很多的优势,因为JAVA是基于面向...

    Java 的IDEA 加密算法加密和数字签名编程

    ### Java 环境下IDEA加密算法及数字签名编程详解 #### 一、加密的必要性和可探究性 随着互联网技术的飞速发展,尤其是电子商务和电子政务的普及,安全加密技术的应用变得越来越广泛。在这样的背景下,对加密技术的...

    2022年基于Java的IDEA加密算法Java教程.docx

    《2022年基于Java的IDEA加密算法Java教程》 在信息技术日益发达的今天,加密算法成为保障网络安全、尤其是电子商务领域信息安全的关键技术。本文主要探讨了在Java环境中如何运用IDEA(International Data ...

    IDEA.rar_IDEA加密_IDEA解密算法_idea_java idea

    “能实现idea加密解密基本算法,使用java编程,容易看懂程序”,这表明压缩包内可能包含了一段用 Java 编写的代码,这段代码实现了 IDEA(可能指的是 International Data Encryption Algorithm,一种常见的对称加密...

    基于Java的IDEA加密算法探讨.pdf

    基于Java的IDEA加密算法探讨 本文探讨了基于Java的IDEA加密算法的应用,讨论了数据加密的概念、加密技术和IDEA数据加密算法的原理。同时,文章还介绍了Java密码体系和Java密码扩展的设计原则和实现方法。 1. 数据...

    IDEA加密算法

    IDEA是一种由8个相似圈(Round)和一个输出变换(Output Transformation)组成的迭代算法。IDEA的每个圈都由三种函数:模(216+1)乘法、模216加法和按位XOR组成。

    Java 的IDEA 加密算法、加密和数字签名编程

    目前在JAVA环境下实现IDEA 加密具有很多的优势,因为JAVA 是基于面向对象的编程语言, 并且由于它的平台无关性能被大量应用于 Internet 的开发。密码学中的加密和数字签名是一种与消息认证码结合使 用以确保消息...

    IDEA数据加密算法实现.rar

    IDEA(International Data Encryption Algorithm,国际数据加密算法)是一种对称密钥加密算法,由瑞士联邦理工学院的Lai Xuejia和Martin Hellman在1990年提出。它设计初衷是作为DES(Data Encryption Standard)的一...

    IDEA加密算法以及PPT讲解

    在压缩包中的“IDEA加密算法实现代码”可能是用某种编程语言(如Python、Java、C++等)编写的IDEA加密和解密函数,供学习者参考和实践。通过阅读和理解代码,可以更深入地了解IDEA的工作原理,并且能够实际应用到...

    基于Java的加密算法演示项目.zip

    IDEADemo: 演示了如何使用IDEA加密算法进行加密和解密,包括密钥生成和转换。 MD5Demo: 提供了一个MD5哈希算法的实现,展示了如何计算字符串的MD5值。 RSADemo: 展示了RSA非对称加密算法的使用,包括密钥生成、...

    在Oracle数据库中实现的IDEA加密算法

    Lai 和Massey 在1992 年进行了改进强化了抗差分分析的能力改称为IDEA 它也是对64bit大小的数据块加密的分组加密算法密钥长度为128位它基于“相异代数群上的混合运算”设计思想算法用硬件和软件实现都很容易且比DES在...

    IDEA加密算法原理.doc

    IDEA加密算法原理.doc

    IDEA算法(java)

    在Java环境中实现IDEA加密有多个关键步骤和知识点: 1. **JCA(Java Cryptography Architecture)和JCE(Java Cryptography Extension)**:Java提供了一套完整的加密框架,即JCA,它包含了各种加密算法的支持。JCE...

    java加密解密算法大全

    Java平台提供了丰富的加密算法支持,包括但不限于: - **DES**:Data Encryption Standard,一种对称加密算法,虽然现在已被认为不太安全,但在某些场景下仍有应用。 - **3DES**:Triple DES,通过三次DES加密提高...

    IDEA加密算法源代码 JAVA版

    此文档提供了IDEA加密算法的JAVA版源代码,对于理解加密算法原理和实现,以及在Java项目中应用IDEA加密具有重要意义。 IDEA算法基于128位的密钥,它将64位的数据块进行16轮迭代操作,每轮包含四个不同的子函数:...

    Idea加密与解密算法的具体实现

    在JAVA环境中实现IDEA加密算法时,需要解决以下关键问题: 1. **算法实现**:将IDEA算法的数学模型转换为JAVA代码,包括所有的轮次操作、密钥调度等。 2. **性能优化**:确保算法的执行效率足够高,特别是在处理...

    idea算法加密解密

    Idea加密算法的核心是16轮的运算,每一轮都包含四个不同的操作:异或(XOR)、线性变换(Linear Transformation)、替代(Substitution)和置换(Permutation)。加密流程大致如下: 1. **密钥扩展**:将128位的...

    Oracle环境下的IDEA加密方法

    Oracle环境下使用IDEA加密方法是Java开发者在处理敏感数据时常用的一种安全技术。IDEA(International Data Encryption Algorithm,国际数据加密算法)是一种高效且安全的对称加密算法,以其快速和强大的安全性在...

Global site tag (gtag.js) - Google Analytics