亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JAVA對稱加密算法PBE定義與用法實例分析

 更新時間:2019年09月05日 09:52:14   作者:cakincqm  
這篇文章主要介紹了JAVA對稱加密算法PBE定義與用法,結合實例形式分析了JAVA對稱加密算法PBE的概念、原理、定義及使用方法,需要的朋友可以參考下

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

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

二 PBE算法優(yōu)點

三 PBE介紹

1、PBE:Password Based Encryption 基于口令加密。通過加Salt來增強安全性。
2、對已有算法的包裝
3、JDK和BC的實現(xiàn)
4、通過加Salt來增強安全性

四 常見算法

五代碼實現(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();
        }
    }
}

六 實現(xiàn)效果

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

七 應用場景

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

文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password

在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

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

在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多關于java相關內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)學運算技巧總結》、《Java數(shù)據(jù)結構與算法教程》、《Java字符與字符串操作技巧總結》、《Java操作DOM節(jié)點技巧總結》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

相關文章

最新評論