我正在尝试使用自己的密码密钥加密字符串。 生成加密文本后,我需要将其保存到文本文件中以便以后使用。另外我需要阅读加密文本末端解密它。如果有人能在Java SE App中为我提供解决方案,那将会很棒。
答案 0 :(得分:0)
Spring的TextEncryptor怎么样?它不是严格的SE,但它可能仍然适合您的用例。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import org.apache.commons.io.IOUtils;
import org.springframework.security.crypto.encrypt.Encryptors;
import org.springframework.security.crypto.encrypt.TextEncryptor;
public class Main {
public static void main(String[] args) throws IOException {
TextEncryptor te = Encryptors.text("12345abc", "1234"); //password, salt.... in hex
File file = new File("someFile.txt");
FileWriter fw = new FileWriter(file);
String encryptedText = te.encrypt("hellow world!");
fw.append(encryptedText);
fw.close();
String text = IOUtils.toString(new FileInputStream(file));
System.out.println(te.decrypt(text));
}
}
答案 1 :(得分:-2)
密码解密器非常简单,概念如下:消息 - 函数 - 密码消息。该函数(它包含密码)可以选择一个现有的(复杂的和不安全的)或者发明它同一个。该函数应该完成它是inyectiva和sobreyectiva并且处理将是消息和函数之间的异或。解密是这个过程的逆过程。你选择的功能(密码)中的秘密。看看Kerckhoffs的原理和一次性的Vernam,Shannon。我还建议你看一些有关FILE I / O的java书。