温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在JAVA中定义PBE对称加密算法

发布时间:2021-05-10 17:30:25 来源:亿速云 阅读:186 作者:Leah 栏目:编程语言

这篇文章将为大家详细讲解有关怎么在JAVA中定义PBE对称加密算法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Java可以用来干什么

Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。

一 AES、DES和3DES在使用上比较一致

怎么在JAVA中定义PBE对称加密算法

二 PBE算法优点

怎么在JAVA中定义PBE对称加密算法

三 PBE介绍

1、PBE:Password Based Encryption 基于口令加密。通过加Salt来增强安全性。
2、对已有算法的包装
3、JDK和BC的实现
4、通过加Salt来增强安全性

四 常见算法

怎么在JAVA中定义PBE对称加密算法 怎么在JAVA中定义PBE对称加密算法 怎么在JAVA中定义PBE对称加密算法

五代码实现

package com.imooc.security.pbe; import java.security.Key; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.PBEParameterSpec; import org.apache.commons.codec.binary.Base64; public class ImoocPBE {     private static String src = "cakin24 security pbe";     public static void main(String[] args) {         jdkPBE();     }     public static void jdkPBE() {         try {             //初始化盐             SecureRandom random = new SecureRandom();             byte[] salt = random.generateSeed(8);             //口令与密钥             String password = "cakin24";             PBEKeySpec pbeKeySpec = new PBEKeySpec(password.toCharArray());             SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWITHMD5andDES");             Key key = factory.generateSecret(pbeKeySpec);             //加密             PBEParameterSpec pbeParameterSpec = new PBEParameterSpec(salt, 100);             Cipher cipher = Cipher.getInstance("PBEWITHMD5andDES");             cipher.init(Cipher.ENCRYPT_MODE, key, pbeParameterSpec);             byte[] result = cipher.doFinal(src.getBytes());             System.out.println("jdk pbe encrypt : " + Base64.encodeBase64String(result));             //解密             cipher.init(Cipher.DECRYPT_MODE, key, pbeParameterSpec);             result = cipher.doFinal(result);             System.out.println("jdk pbe decrypt : " + new String(result));         } catch (Exception e) {             e.printStackTrace();         }     } }

六 实现效果

jdk pbe encrypt : UKXIqWmtrNBpJ1ayTgGWmpswSLPLel5X
jdk pbe decrypt : cakin24 security pbe

七 应用场景

怎么在JAVA中定义PBE对称加密算法

关于怎么在JAVA中定义PBE对称加密算法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI