应用描述:实现一个简单的加密和解密工具,使用基本的字符替换方法.功能需求:
创建一个名为 SimpleCipher 的类.
类中包含两个方法:encrypt 和decrypt,分别用于加密和解密字符串。
测试要求:
编写测试类SimpleCipherTest.
测试加密和解密的逆过程,确保原始字符串可以被完全恢复.并且注释每一行的代码
应用描述:实现一个简单的加密和解密工具,使用基本的字符替换方法.功能需求:
创建一个名为 SimpleCipher 的类.
类中包含两个方法:encrypt 和decrypt,分别用于加密和解密字符串。
测试要求:
编写测试类SimpleCipherTest.
测试加密和解密的逆过程,确保原始字符串可以被完全恢复.并且注释每一行的代码
以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
要实现这个需求,首先我们需要定义一个简单的加密算法,然后实现 SimpleCipher
类和 SimpleCipherTest
测试类。下面是一个简单的实现示例:
public class SimpleCipher {
// 定义加密和解密时使用的字符替换规则
private static final String ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static final String SHIFTED_ALPHABET = "ZABCDEFGHIJKLMNOPQRSTUVWXY";
public String encrypt(String input) {
return shiftCharacters(input, ALPHABET, SHIFTED_ALPHABET);
}
public String decrypt(String input) {
return shiftCharacters(input, SHIFTED_ALPHABET, ALPHABET);
}
private String shiftCharacters(String input, String originalAlphabet, String shiftedAlphabet) {
StringBuilder result = new StringBuilder();
for (char c : input.toCharArray()) {
int index = originalAlphabet.indexOf(c);
if (index != -1) {
result.append(shiftedAlphabet.charAt(index));
} else {
result.append(c); // 非字母字符保持不变
}
}
return result.toString();
}
}
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class SimpleCipherTest {
private SimpleCipher cipher = new SimpleCipher();
@Test
public void testEncryptionAndDecryption() {
// 定义一个测试字符串
String original = "HELLO WORLD";
// 加密原始字符串
String encrypted = cipher.encrypt(original);
// 解密加密后的字符串
String decrypted = cipher.decrypt(encrypted);
// 断言解密后的字符串与原始字符串相同
assertEquals("Decryption should return the original string", original, decrypted);
// 打印加密和解密结果,用于验证
System.out.println("Original: " + original);
System.out.println("Encrypted: " + encrypted);
System.out.println("Decrypted: " + decrypted);
}
}
SimpleCipher
类中定义了两个方法 encrypt
和 decrypt
,分别用于加密和解密字符串。encrypt
方法调用私有的 shiftCharacters
方法,将输入字符串中的每个字母按照 ALPHABET
和 SHIFTED_ALPHABET
进行替换。decrypt
方法同样调用 shiftCharacters
方法,但是使用 SHIFTED_ALPHABET
和 ALPHABET
作为参数,实现解密。shiftCharacters
方法遍历输入字符串,对于每个字母字符,找到其在原始字母表中的位置,并用移位后的字母表中的对应字符替换。SimpleCipherTest
类中定义了测试方法 testEncryptionAndDecryption
,用于验证加密和解密过程是否正确。assertEquals
断言方法来验证解密后的字符串是否与原始字符串相同。请注意,上述代码是一个简单的示例,实际应用中可能需要考虑更多的边界情况和异常处理。