日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java aes pbe_JAVA对称加密算法PBE定义与用法实例分析

發(fā)布時(shí)間:2025/3/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java aes pbe_JAVA对称加密算法PBE定义与用法实例分析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文實(shí)例講述了JAVA對(duì)稱加密算法PBE定義與用法。分享給大家供大家參考,具體如下:

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

二 PBE算法優(yōu)點(diǎn)

三 PBE介紹

1、PBE:Password Based Encryption 基于口令加密。通過加Salt來增強(qiáng)安全性。

2、對(duì)已有算法的包裝

3、JDK和BC的實(shí)現(xiàn)

4、通過加Salt來增強(qiáng)安全性

四 常見算法

五代碼實(shí)現(xiàn)

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();

}

}

}

六 實(shí)現(xiàn)效果

jdk pbe encrypt : UKXIqWmtrNBpJ1ayTgGWmpswSLPLel5X

jdk pbe decrypt : cakin24 security pbe

七 應(yīng)用場(chǎng)景

PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:http://tools.jb51.net/password/hash_md5_sha

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

總結(jié)

以上是生活随笔為你收集整理的java aes pbe_JAVA对称加密算法PBE定义与用法实例分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。