package com.james.chps;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
public class CephTest {
/**
* @param args
* @throws Exception
* @throws NoSuchAlgorithmException
*/
public static void main(String[] args) throws NoSuchAlgorithmException, Exception {
// TODO Auto-generated method stub
Cipher c=Cipher.getInstance("AES");
FileInputStream fis=new FileInputStream("myscret.key");
ObjectInputStream ois=new ObjectInputStream(fis);
Key key=(Key) ois.readObject();
//SecretKey sk=KeyGenerator.getInstance("AES").generateKey();
//加密
c.init(Cipher.ENCRYPT_MODE, key);
//从加密文件中读出key
byte[] jiamihou=c.doFinal("sdfa".getBytes());
System.out.println(jiamihou);
//解密
c.init(Cipher.DECRYPT_MODE, key);
System.out.println(new String(c.doFinal(jiamihou)));
}
//method1
public void method1() throws Exception, Throwable{
// TODO Auto-generated method stub
Cipher c=Cipher.getInstance("AES");
SecretKey sk=KeyGenerator.getInstance("AES").generateKey();
//加密
c.init(Cipher.ENCRYPT_MODE, sk);
byte[] jiamihou=c.doFinal("sdfa".getBytes());
System.out.println(jiamihou);
//解密
c.init(Cipher.DECRYPT_MODE, sk);
System.out.println(new String(c.doFinal(jiamihou)));
}
//method2将密匙写入文件
public void method3() throws Exception{
// TODO Auto-generated method stub
Cipher c=Cipher.getInstance("AES");
SecretKey sk=KeyGenerator.getInstance("AES").generateKey();
//加密
c.init(Cipher.ENCRYPT_MODE, sk);
//密匙写入文件
FileOutputStream fos=new FileOutputStream("myscret.key");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(sk);
oos.flush();
oos.close();
byte[] jiamihou=c.doFinal("sdfa".getBytes());
System.out.println(jiamihou);
//解密
c.init(Cipher.DECRYPT_MODE, sk);
System.out.println(new String(c.doFinal(jiamihou)));
}
}
分享到:
相关推荐
java AES加密解密,使用 CBC 解密模式,EncryptByAes Aes加密 后 base64 再加 DecryptByAes Aes 解密,对 PKCS7 填充的数据进行反填充,对数据进行 PKCS7 填充 使用 CBC 解密模式, // aesDecrypt 解密 public ...
在提供的两个文件`AES加密1.java`和`AES加密2.java`中,可能包含了上述两种方式的实现。它们可能涵盖了密钥生成、初始化向量(IV)的使用、不同加密模式的选择以及如何处理加密过程中可能遇到的异常。通过阅读和理解...
Java AES加密Java AES加密Java AES加密Java AES加密Java AES加密Java AES加密Java AES加密
Java平台提供了丰富的库支持AES加密,使得开发人员可以方便地在Java应用程序中集成这种强大的加密技术。 在Java中实现AES加密,主要涉及到以下几个关键步骤和知识点: 1. 密钥生成:AES加密需要一个密钥来执行加...
`java_aes加密_demo`表示这是一个Java AES加密的示例项目,而`js_aes加密算法`表明还有JavaScript版本的AES加密实现。 这个压缩包文件可能包含了Java实现AES加密和解密的代码示例,适合初学者了解和学习AES加密的...
JAVA AES 加密算法 javax.crypto.Cipher AES/ECB/PKCS5Padding
本项目提供了一个集成了AWT界面的Java AES加密解密工具,方便开发者直接使用或集成到自己的项目中。 首先,我们要理解AES加密的基本原理。AES是一种块密码,它将明文分为128位的数据块进行处理,支持128、192、256...
在Java中实现AES(Advanced Encryption Standard)...总之,Java中的AES加密和解密涉及到密钥生成、密码器的使用以及数据的转换。在实现过程中,还需要考虑安全性、性能和兼容性等问题,确保加密算法的有效性和安全性。
java实现aes加解密
在提供的压缩包文件"java aes加密、解密"中,应该包含了一个完整的Java项目,包含了上述所有步骤的代码示例,并且每个方法都有详细的注释,可以直接运行查看效果。这个项目无需任何额外的插件,只需要Java环境即可...
在"JavaAES加密库.zip"中,我们可能找到一个名为"alice-master"的项目,这可能是一个开源项目或代码示例,用于展示如何在Java中使用AES加密。"alice-master"通常表示这是一个Git仓库的主分支或者项目的主目录。 要...
* 编码工具类 * 1.将byte[]转为各种进制的字符串 * 2.base 64 encode * 3.base 64 decode * 4.... * 5.... * 6.... * 7.AES加密 * 8.AES加密为base 64 code * 9.AES解密 * 10.将base 64 code AES解密
AES高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种...本软件是用java语言开发,实现了AES算法对文件的加密和解密,并在界面上加了进度条,来提示用户加密解密的进度。如果不足之处,欢迎留言。
在本文示例中,我们关注的是如何利用Java的Hex编码和解码来处理AES加密和解密的过程。 首先,让我们了解什么是Hex编码。Hex编码是一种将二进制数据转换为可打印字符的表示方式,每个字节被转换为两个十六进制数字...
AES加密过程** - **字节代换**:这是非线性的一步,每个字节通过一个固定的查找表进行替换,使得明文数据的初始模式发生改变。 - **行移位**:将128位的矩阵按行进行循环左移,不同轮的移动位数不同,增加了混淆...
在IT行业中,加密算法是数据安全的重要组成部分,Java平台提供了多种加密算法,如AES和DES。本文将深入探讨这两种加密算法在实际应用中可能遇到的问题和陷阱。 首先,AES(Advanced Encryption Standard)是一种块...
在Java中,我们可以使用`javax.crypto`包来实现AES加密和解密。以下是实现这个功能的主要步骤: 1. **密钥生成**:首先,我们需要创建一个AES密钥。可以使用`KeyGenerator`类生成一个随机密钥。例如,对于128位的...
在Java中实现AES加密解密,我们需要使用Java Cryptography Extension (JCE)库。以下是一些关键知识点: 1. 导入相关库: ```java import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import...
在这个场景中,"AES JS加密JAVA解密" 提到的是使用JavaScript进行AES加密,然后在Java环境中对加密后的数据进行解密的过程。下面我们将深入探讨这个主题。 首先,AES加密的基本原理是通过一个密钥和一系列复杂的...