java加密方法-java实现加密:代码示例

wangyetexiao

温馨提示:这篇文章已超过239天没有更新,请注意相关的内容是否还可用!

java加密方法-java实现加密:代码示例

Java提供了多种加密方法,可以用于对数据进行加密和解密。其中常用的加密方法有对称加密和非对称加密。

对称加密是指加密和解密使用相同的密钥的加密方法。Java中常用的对称加密算法是AES(Advanced Encryption Standard)算法。使用AES算法进行加密和解密需要以下步骤:

1. 创建一个AES加密器对象。可以使用`Cipher`类来创建加密器对象,需要指定加密算法和工作模式。例如,以下代码创建了一个使用AES算法和CBC模式的加密器对象:

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");

2. 生成一个密钥。可以使用`KeyGenerator`类来生成一个AES密钥。例如,以下代码生成了一个128位的AES密钥:

KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");

keyGenerator.init(128);

SecretKey secretKey = keyGenerator.generateKey();

3. 初始化加密器。需要指定加密模式和密钥。例如,以下代码使用生成的密钥初始化加密器对象:

cipher.init(Cipher.ENCRYPT_MODE, secretKey);

4. 加密数据。可以使用`doFinal`方法来加密数据。例如,以下代码对一个字节数组进行加密:

byte[] input = "Hello, World!".getBytes();

byte[] encrypted = cipher.doFinal(input);

5. 解密数据。可以使用相同的加密器对象和密钥来解密数据。例如,以下代码对加密后的数据进行解密:

cipher.init(Cipher.DECRYPT_MODE, secretKey);

byte[] decrypted = cipher.doFinal(encrypted);

非对称加密是指加密和解密使用不同的密钥的加密方法。Java中常用的非对称加密算法是RSA(Rivest-Shamir-Adleman)算法。使用RSA算法进行加密和解密需要以下步骤:

1. 创建一个RSA加密器对象。可以使用`Cipher`类来创建加密器对象,需要指定加密算法。例如,以下代码创建了一个使用RSA算法的加密器对象:

Cipher cipher = Cipher.getInstance("RSA");

2. 生成一对密钥。可以使用`KeyPairGenerator`类来生成一对RSA密钥。例如,以下代码生成了一对2048位的RSA密钥:

KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");

keyPairGenerator.initialize(2048);

KeyPair keyPair = keyPairGenerator.generateKeyPair();

PrivateKey privateKey = keyPair.getPrivate();

PublicKey publicKey = keyPair.getPublic();

3. 初始化加密器。需要指定加密模式和密钥。例如,以下代码使用公钥初始化加密器对象:

cipher.init(Cipher.ENCRYPT_MODE, publicKey);

4. 加密数据。可以使用`doFinal`方法来加密数据。例如,以下代码对一个字节数组进行加密:

byte[] input = "Hello, World!".getBytes();

byte[] encrypted = cipher.doFinal(input);

5. 解密数据。可以使用相同的加密器对象和私钥来解密数据。例如,以下代码对加密后的数据进行解密:

cipher.init(Cipher.DECRYPT_MODE, privateKey);

byte[] decrypted = cipher.doFinal(encrypted);

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码