加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在java中加密文本文件的最简单方法

发布时间:2020-12-15 07:35:46 所属栏目:Java 来源:网络整理
导读:对于我的学校项目,我必须表明我可以在程序中使用文件处理.为此,我做了一个非常简单的登录过程,您可以创建一个帐户,将用户名和密码写入资源文件夹中的文本文件.显然这根本没有任何安全性,因为它不是为了展示文件处理而设计的,但是我的老师说我应该尝试在文件
对于我的学校项目,我必须表明我可以在程序中使用文件处理.为此,我做了一个非常简单的登录过程,您可以创建一个帐户,将用户名和密码写入资源文件夹中的文本文件.显然这根本没有任何安全性,因为它不是为了展示文件处理而设计的,但是我的老师说我应该尝试在文件中添加一些加密以获得更好的成绩.

我做了一些研究,很多人都在推荐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");
        }
    }
}

所以基本上在写入文件之前,你会加密,阅读后你需要解密它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读