-
如何保存密钥文件更安全5
下面是一个进行加密的工具类,加密类会产生一个密钥文件,密钥文件保存到了硬盘文件中,程序中要进行对数据的加解密操作。密钥文件保存在文件,别人也就可以读取密钥文件,获得加密数据的内容。有什么可以安全保存密钥文件的方式么?
public class EncryptUtil { private static String keyPath = null; private static String getKeyPath() { keyPath = "c:\\yhb.des"; return keyPath; } /** * 对称加密-产生密钥<br/> */ public static void generatorKey() { SecretKey key = null; try { // 指定算法,这里为DES;如果想用Blowfish算法,则用getInstance("Blowfish") // BouncyCastle基本上支持所有通用标准算法 KeyGenerator keygen = KeyGenerator.getInstance("DES"); // 指定密钥长度,长度越高,加密强度越大 keygen.init(56); // 产生密钥 key = keygen.generateKey(); // 构造输出文件,这里的目录是动态的,根据用户名称来构造目录 ObjectOutputStream keyFile = new ObjectOutputStream( new FileOutputStream(getKeyPath())); keyFile.writeObject(key); keyFile.close(); } catch (NoSuchAlgorithmException e5) { e5.printStackTrace(); System.exit(0); } catch (IOException e4) { e4.printStackTrace(); System.exit(0); } } /** * 对称加密-读取密钥.<br/> */ private static SecretKey getSecretKey() { // 从密钥文件中读密钥 SecretKey key = null; try { ObjectInputStream keyFile = new ObjectInputStream( new FileInputStream(getKeyPath())); key = (SecretKey) keyFile.readObject(); keyFile.close(); } catch (FileNotFoundException ey1) { e1.printStackTrace(); System.exit(0); } catch (Exception ey2) { e2.printStackTrace(); } return key; } /** * 加密文本信息.<br/> */ public static String encrypt(String encryptStr) { SecretKey key = getSecretKey(); Cipher cipher = null; try { // 设置算法,应该与加密时的设置一样 cipher = Cipher.getInstance("DES"); // 设置解密模式 cipher.init(Cipher.ENCRYPT_MODE, key); } catch (Exception ey3) { ey3.printStackTrace(); } byte[] data = null; try { data = cipher.doFinal(encryptStr.getBytes()); } catch (IllegalBlockSizeException e) { e.printStackTrace(); } catch (BadPaddingException e) { e.printStackTrace(); } encryptStr = Base64.encodeBase64String(data); return encryptStr; } /** * 解密文本信息.<br/> */ public static String decrypt(String decryptStr) { SecretKey key = getSecretKey(); // 用key产生Cipher Cipher cipher = null; try { // 设置算法,应该与加密时的设置一样 cipher = Cipher.getInstance("DES"); // 设置解密模式 cipher.init(Cipher.DECRYPT_MODE, key); } catch (Exception ey3) { ey3.printStackTrace(); System.exit(0); } byte[] data = Base64.decodeBase64(decryptStr); try { data = cipher.doFinal(data); } catch (IllegalBlockSizeException e) { e.printStackTrace(); } catch (BadPaddingException e) { e.printStackTrace(); } decryptStr = new String(data); return decryptStr; } }
2012年8月15日 16:25
相关推荐
了解和正确处理这些密钥文件对于玩家和开发者都至关重要。同时,lua文件作为承载密钥信息的载体,其解读和管理也是理解Steam平台运作机制的关键一步。在实际操作中,务必遵循官方指导,确保游戏体验的安全和顺畅。
将密钥存储文件配置到启用SSL的服务器上,实现SSL/TLS加密协议的安全连接。 七、查看密钥存储文件 可以使用Java_keytool工具查看密钥存储文件的内容。命令为: keytool -list -keystore keystore.jks 其中,-...
本文将深入探讨如何使用DESede算法生成和保存密钥,以及如何确保私钥的安全性。 DESede算法结合了三个DES密钥,提供更强大的安全性,其有效密钥长度可以是112位或168位。112位是通过使用两个不同的56位DES密钥实现...
然而,"卡巴斯基密钥文件获取软件"声称能帮助用户免费获取卡巴斯基的密钥,从而实现永久免费使用。 在网络安全领域,免费获取授权密钥的行为存在一定的风险。首先,非法获取和使用他人软件的密钥可能违反版权法,...
本项目涉及到C#语言实现的RSA工具类,包括读取不同格式的密钥文件(如PFX和CER)、进行签名验证、解密以及在C#和Java之间互转密钥。以下将详细阐述这些知识点。 1. **RSA算法**:RSA是一种基于大数因子分解困难性的...
我们看到,密文和密钥文件的密文都是乱码,如果不加密密钥文件你需要用安全的地方来保存密钥文件,但是如果有安全的地方保存文件你为何不直接保存原文件算了,何必多此一举,而加密后你只要记住密码就可以了。...
在IT领域,尤其是在软件开发中,安全性和隐私保护是至关重要的。Qt是一个流行的跨平台应用程序开发框架,广泛用于创建桌面、移动以及...同时,这个工具也可以作为一个起点,进一步扩展到更复杂的加密算法和安全协议。
《密钥安全管理办法 密钥分发管理》的文件详细阐述了如何管理和保障密钥的安全,这在IT行业中至关重要,因为密钥是信息安全的核心。密钥管理涉及密钥的生成、分发、传输、保管、删除、销毁以及泄漏处理等多个环节,...
同时,正确安装和配置密钥文件需要一定的技术知识,包括理解如何导入和启用这些密钥,以及如何处理可能出现的任何错误或警告。 总的来说,"yuzu最新固件-密钥keys"的组合涉及到保持模拟器最新状态、增强游戏兼容性...
throw new EprasRuntimeException("读取密钥文件失败.", e); } return kp; } } ``` #### 文件加密 有了密钥之后,我们就可以利用这些密钥来进行文件的加密处理。下面的代码展示了如何使用RSA算法进行文件加密...
同时,保持密钥文件的安全性也很重要,防止未经授权的访问和使用。 总结来说,HALCON的密钥管理是确保软件合法使用和功能发挥的关键环节。正确使用和支持密钥文件,不仅可以避免法律风险,也能确保用户获得最佳的...
使用OpenSSL生成的pem密钥文件可以提供更好的安全性,因为OpenSSL可以生成更强的密钥。同时,使用pem格式的密钥文件可以使得密钥的存储和传输更方便。 七、结论 在.NET中,可以使用OpenSSL生成的pem密钥文件来实现...
Go-Bletchley是一个专为公共密钥加密技术设计的简单命令行工具,它使得文件交换变得更加安全且便捷。在IT行业中,理解并掌握公钥加密机制是信息安全领域的重要一环,尤其是对于需要处理敏感数据的开发者和系统管理员...
Python CERT Keyfinder是一款强大的安全工具,主要功能是搜索和分析计算机文件系统以及Android APK应用程序中的私有和公共密钥文件。这个工具的诞生得益于美国国土安全部(DHS)的赞助,旨在提高网络安全性和隐私...
本发明公开了一种基于文件属性的密钥加密方法,包括:接收用户文件,根据用户文件生成属性集合、访问结构树、主密钥和公钥,随机生成对称密钥,使用对称密钥和对称加密算法加密用户文件,以得到数据密文,使用公钥和...
标题中的“vnc + 密钥”指的是在使用VNC时,为了确保连接的安全性和隐私性,可能需要使用特定的注册密钥或许可证密钥。这个密钥通常由VNC软件的提供商提供,用于验证用户的身份,防止未经授权的访问。 在描述中提到...
但是,根据文件标题和描述中提到的“密钥安全研究进展”、“密码安全”以及标签“数据安全 安全开发 逻辑漏洞 安全事件 URL跳转”,我们可以推断文件中可能包含以下方面的知识点: 1. 密钥安全的基本概念:密钥是...
- 密钥加密密钥(KeyEncryptingKey):用于加密会话密钥或文件密钥。 - 主机主密钥(HostMasterKey):对密钥加密密钥进行加密的密钥,存于主机中。 - 在公钥体制中,还包含公开密钥、私钥和签名密钥等。 2. ...