【问题标题】:Encrypt text and save to text file. Also read and decrypt - Java [closed]加密文本并保存到文本文件。还读取和解密 - Java [关闭]
【发布时间】:2018-03-19 17:05:24
【问题描述】:

我正在尝试使用我自己的密码密钥加密字符串。 生成加密文本后,我需要将其保存到文本文件以供以后使用。我还需要阅读加密文本结束解密它。如果有人能给我一个在 Java SE App 中做这件事的解决方案,那就太好了。

【问题讨论】:

  • “如果有人能给我一个在 Java SE 应用程序中做这件事的解决方案,那就太好了” - 抱歉,这不会发生。
  • 查看java.crypto 包。有一个很好的起点。

标签: java encryption text


【解决方案1】:

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));

    }

}

【讨论】:

    【解决方案2】:

    cipher-descipher 很简单,概念如下:Message - function - cipher Message。该功能(它包含密码)可以选择现有的(复杂且不安全的)功能之一,或者将其发明为您的相同功能。函数应该完成它是 inyectiva 和 sobreyectiva 并且处理将是消息和函数之间的 XOR。解密器是这个过程的逆过程。您选择的函数中的秘密 this(密码)。查看 Kerckhoffs 的原理和 Vernam,Shannon 的一次性垫。我还建议您看一些有关 FILE I/O 的 java 书籍。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多