当前位置: 首页 > 面试题库 >

用Java加密文本文件的最简单方法

卢作人
2023-03-14
问题内容

对于我的School项目,我必须证明我可以在程序中利用文件处理功能。为此,我做了一个非常简单的登录过程,您可以在该过程中创建一个帐户,该帐户将用户名和密码写入位于资源文件夹中的文本文件。显然,这根本没有安全性,因为它并不是为了展示文件处理而设计的,但是我的老师说我也应该尝试对文件添加一些加密以取得更好的成绩。

我已经进行了一些研究,许多人都推荐使用DES。

我遇到的问题是我的项目没有太多时间,需要尽快完成。使用DES似乎需要一段时间才能实现所有其他代码。

在我的程序中,我使用一个简单的lineNumberReader逐行读取文件。要写入文件,我正在使用BufferedWriter。

无论如何,是否有非常简单的方法来加密此数据?它不一定很安全,但是我需要证明我至少尝试过加密数据。加密和解密都将在不传输数据的同一应用程序上完成。

可能是我自己创建一种非常简单的加密和解密算法的方法吗?


问题答案:

试试这个,…很简单

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;

public class HelloWorld{
    public static void main(String[] args) {

        try{
            KeyGenerator keygenerator = KeyGenerator.getInstance("DES");
            SecretKey myDesKey = keygenerator.generateKey();

            Cipher desCipher;
            desCipher = Cipher.getInstance("DES");


            byte[] text = "No body can see me.".getBytes("UTF8");


            desCipher.init(Cipher.ENCRYPT_MODE, myDesKey);
            byte[] textEncrypted = desCipher.doFinal(text);

            String s = new String(textEncrypted);
            System.out.println(s);

            desCipher.init(Cipher.DECRYPT_MODE, myDesKey);
            byte[] textDecrypted = desCipher.doFinal(textEncrypted);

            s = new String(textDecrypted);
            System.out.println(s);
        }catch(Exception e)
        {
            System.out.println("Exception");
        }
    }
}

因此,基本上,在写入文件之前,您需要加密,而在读取文件之后,需要解密。



 类似资料:
  • 本文向大家介绍C#实现最简单的文本加密方法,包括了C#实现最简单的文本加密方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现最简单的文本加密方法。分享给大家供大家参考。具体实现方法如下: 上面是最简单的加密和解密文本的函数,不需要任何库文件支持,只是把原文和密钥进行字节的异或,想要把密文翻译回来,很简单,拿着密文和密钥重新异或一次就可以。 如果密钥正确的话,就会回来正确的原始文本

  • 问题内容: 我想知道用Java编写文本文件最简单(最简单)的方法是什么。请保持简单,因为我是初学者:D 我在网上搜索并找到了此代码,但我了解其中的50%。 } 问题答案: 在Java 7及更高版本中,一个使用Files的衬板:

  • 问题内容: 我有两个文本文件,一个包含HTML,另一个包含URL链接: 文件1(HTML): 文件2(URL链接): 我需要合并它们,以便将FILE 2中的段插入到FILE 1中的HTML中,如下所示: 输出: 什么是最好的方法?哪种语言最适合以最小的复杂度完成此任务? 问题答案: 您需要zip功能,该功能在大多数语言中都可用。目的是并行处理两个或多个数组。 在Ruby中将是这样的: 要压缩更多,

  • 问题内容: 我正在用Java替代传统应用程序。要求之一是必须将旧应用程序使用的ini文件原样读取到新的Java应用程序中。此ini文件的格式是常见的Windows样式,带有标头部分和键=值对,使用#作为注释字符。 我尝试使用Java中的Properties类,但是如果不同的标头之间存在名称冲突,那当然是行不通的。 因此,问题是,读取此INI文件和访问密钥的最简单方法是什么? 问题答案: 我正在用J

  • 问题内容: 显然,我想避免将路径等硬编码到我的应用程序中,因此,我想制作一个设置文件来存储诸如字符串之类的简单内容。最简单的方法是什么?我在思考可可如何使用对象持久性的思路,但是似乎找不到任何等效的方法。 问题答案: 您可以使用通过java.util.Properties类处理的属性文件。

  • 我尝试在给定的文本文件中连接两行文本,并将输出打印到控制台。我的代码非常复杂,有没有更简单的方法通过使用文件处理基本概念来实现这一点?