栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java文件加密

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java文件加密

您的代码中有些混乱,可能是因为缺少了您调用的某些方法,或者可能是因为您使用的是密钥来加密…您的密钥(!!!)
让我们尝试对简单的方法进行加密和解密,删除代码中严格不需要的所有内容(例如,对密钥进行编码并将其保存到文件中,然后在不解码的情况下还原密钥等)。

让我们看一下以下基于您的简化代码:

    KeyGenerator keyGenS = KeyGenerator.getInstance("AES");    keyGenS.init(128);    SecretKey sKey1 = keyGenS.generateKey();    Cipher aesCipher = Cipher.getInstance("AES");    aesCipher.init(Cipher.ENCRYPT_MODE,sKey1);    byte[] byteText = "Insert here whatever you want to crypt".getBytes();    byte[] byteCipherText = aesCipher.doFinal(byteText);

我们使用KeyGenerator生成了密钥,然后使用该密钥初始化了Cipher实例。在这一点上,我们只需调用

doFinal()
传递要加密的plainText。
加密部分就这些了。当然,您可以根据需要将密钥保存
byteCipherText
到文件中,但是其他所有人员(至少)是没有用的。

解密部分像加密一样容易。逻辑是一样的。如果您将密钥保存在文件中,只需将其读入

byte[]
,然后将其用于初始化密码实例。像这样:

    aesCipher.init(Cipher.DECRYPT_MODE, sKey1);    byte[] plainText = aesCipher.doFinal(byteCipherText);

如果将以上所有代码放入a中

main()
并运行,则应与中
plainText
的相同
byteText

您可以使用

    System.out.println(new String(plainText));

尝试从这里开始,然后添加您可能需要的所有其他内容。
希望这可以帮助。
问候



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/609700.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号