1、阅读图书或上网查阅Java 中DES、AES、RSA加密类的基本用法。 2、设计程序界面。 3、实现对字符串加密功能。 4、实现对字符串加密功能。
时间: 2024-01-01 11:04:17 浏览: 129
Method-collection-of-Java-encryption.zip_DSA java
以下是一个Java程序实现对字符串加密的示例代码:
```java
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
public class StringEncryptor {
private final Key key;
public StringEncryptor() throws Exception {
KeyGenerator keyGen = KeyGenerator.getInstance("AES");
keyGen.init(128);
this.key = keyGen.generateKey();
}
public String encrypt(String input) throws Exception {
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] encryptedBytes = cipher.doFinal(input.getBytes());
return new String(encryptedBytes);
}
public String decrypt(String input) throws Exception {
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] decryptedBytes = cipher.doFinal(input.getBytes());
return new String(decryptedBytes);
}
public static void main(String[] args) throws Exception {
StringEncryptor encryptor = new StringEncryptor();
String originalString = "Hello, world!";
String encryptedString = encryptor.encrypt(originalString);
String decryptedString = encryptor.decrypt(encryptedString);
System.out.println("Original string: " + originalString);
System.out.println("Encrypted string: " + encryptedString);
System.out.println("Decrypted string: " + decryptedString);
}
}
```
这个示例使用AES加密算法来加密字符串,生成128位的密钥。它定义了一个StringEncryptor类,包含了一个构造函数用来生成密钥,以及一个encrypt方法和一个decrypt方法用来加密和解密字符串。在main方法中,我们可以看到如何使用这个类来加密和解密字符串。
阅读全文