在当今互联网时代,数据安全变得越来越重要。无论是用户密码、支付信息还是通信内容,都需要通过加密解密技术来保护。作为一门广泛应用的编程语言,Java 提供了丰富的 API 来实现各种加密功能。本文将带你从零开始,掌握 Java 中最基础的加密解密方法,即使是编程新手也能轻松上手!
加密是将原始信息(明文)通过某种算法转换成不可读的形式(密文),以防止未授权访问;解密则是将密文还原为明文的过程。常见的加密方式包括对称加密(如 AES、DES)和非对称加密(如 RSA)。
掌握 Java安全编程 不仅能提升你的开发能力,还能让你构建更安全的应用程序。比如:用户登录时对密码进行加密存储、API 接口数据传输时防止窃听等场景都离不开加密技术。
虽然 Base64 不是真正的加密算法(它可逆且无需密钥),但在实际开发中常用于对二进制数据进行文本化处理,是学习加密的第一步。
// Java 中使用 Base64 编码与解码import java.util.Base64;public class Base64Example { public static void main(String[] args) { String originalInput = "Hello, Java加密解密!"; // 编码(类似“加密”) String encodedString = Base64.getEncoder().encodeToString(originalInput.getBytes()); System.out.println("Base64 编码结果: " + encodedString); // 解码(类似“解密”) byte[] decodedBytes = Base64.getDecoder().decode(encodedString); String decodedString = new String(decodedBytes); System.out.println("Base64 解码结果: " + decodedString); }} 运行结果:
Base64 编码结果: SGVsbG8sIEphdmHln7rml6XnlKjvvIwhBase64 解码结果: Hello, Java加密解密!
AES(Advanced Encryption Standard)是一种广泛使用的对称加密算法,加密和解密使用同一个密钥。下面是一个简单的 AES 加密解密示例:
import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;import java.util.Base64;public class AESEncryptionExample { public static void main(String[] args) throws Exception { String originalText = "这是需要加密的敏感信息"; // 生成 AES 密钥 KeyGenerator keyGen = KeyGenerator.getInstance("AES"); keyGen.init(128); // 使用 128 位密钥 SecretKey secretKey = keyGen.generateKey(); byte[] keyBytes = secretKey.getEncoded(); // 加密 Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(keyBytes, "AES")); byte[] encryptedBytes = cipher.doFinal(originalText.getBytes("UTF-8")); String encryptedText = Base64.getEncoder().encodeToString(encryptedBytes); System.out.println("AES 加密结果: " + encryptedText); // 解密 cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(keyBytes, "AES")); byte[] decryptedBytes = cipher.doFinal(Base64.getDecoder().decode(encryptedText)); String decryptedText = new String(decryptedBytes, "UTF-8"); System.out.println("AES 解密结果: " + decryptedText); }} 注意:实际项目中,密钥应妥善保管,不能硬编码在代码中。
通过本教程,你已经了解了 Java加密解密 的基本概念,并学会了使用 Base64 编码和 AES 对称加密。这些知识是 Java安全编程 的基石。后续你可以深入学习 RSA 非对称加密、数字签名、SSL/TLS 等高级安全技术。
记住:安全无小事。在真实项目中,请务必遵循安全最佳实践,避免常见漏洞(如硬编码密钥、使用弱算法等)。
关键词回顾:Java加密解密、Java安全编程、对称加密算法、Base64编码
本文由主机测评网于2025-12-20发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20251210328.html