国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java必懂的冷知識(shí)點(diǎn)之Base64加密與解密

瀏覽:128日期:2022-08-15 13:56:25

為了安全地進(jìn)行數(shù)據(jù)傳輸,就需要對(duì)數(shù)據(jù)進(jìn)行加密與解密操作,Base64就是Java提供的加密處理器。本博客主要講解Base64工具類的使用以及加密和解密信息操作實(shí)現(xiàn)。

Base64是一種直接利用64個(gè)可打印字符來(lái)表示二進(jìn)制數(shù)據(jù)的算法,也是網(wǎng)絡(luò)傳輸中較為常見(jiàn)的一種加密算法。從JDK1.8版本開(kāi)始提供java.util.Base64的工具類,同時(shí)提供了兩個(gè)Base64的內(nèi)部類實(shí)現(xiàn)數(shù)據(jù)加密與解密操作。

【數(shù)據(jù)加密】java.util.Base64.Encoder, 對(duì)象獲取方法:public static Base64.Encoder getEncoder()。數(shù)據(jù)加密處理:public byte[] encoder(byte[] src)。

【數(shù)據(jù)解密】java.util.Base64.Decoder, 對(duì)象獲取方法:public static Base64.Decoder getDecoder()。數(shù)據(jù)解密處理:public byte[] decoer (String src)。

### 范例:實(shí)現(xiàn)Base64加密與解密操作

package cn.mldn.demo;import java.util.Base64;public class JavaAPIDemo{ public static void main(String[] args) throws Exception{ String msg='www.mldn.cn'; //原始內(nèi)容 String encMsg=new String(Base64.getEncoder().encode(msg.getBytes()));//數(shù)據(jù)加密 System.out.println(encMsg); //輸出密文 String oldMsg=new String(Base64.getDecoder().decode(encMsg)); //數(shù)據(jù)解密 System.out.println(oldMsg); //輸出明文 }}

程序執(zhí)行結(jié)果:d3d3Lm1sZG4uY24=(密文)www.mldn.cn(明文)

本程序直接利用Base64提供的方法獲取了Base64.Encoder與Base64.Decoder實(shí)例化對(duì)象,并且對(duì)原始數(shù)據(jù)進(jìn)行了加密與解密處理。但需要注意的是,由于Base64屬于JDK的原始實(shí)現(xiàn),所以單純地加密是不安全的,此時(shí)為了獲取更加安全的數(shù)據(jù)加密操作,可以利用鹽值(salt)、自定義格式以及多次加密的方式來(lái)保證項(xiàng)目中的數(shù)據(jù)安全。

### 范例:基于Base64定義復(fù)雜加密與解密操作

package cn.mldn.demo;import java.util.Base64;class StringUtil{private static final String SALT='mldnjava'; //公共的鹽值private static final int REPEAT=5; //加密次數(shù)public static String encode(String str) { //加密處理String temp=str+'{'+SALT+'}';//鹽值對(duì)外不公布byte data[]=temp.getBytes();//將字符串變?yōu)樽止?jié)數(shù)組for(int x=0;x<REPEAT;x++)data=Base64.getEncoder().encode(data); //重復(fù)加密return new String(data); //返回加密后的內(nèi)容}public static String decode(String str) {byte data[]=str.getBytes();//獲取加密內(nèi)容for(int x=0;x<REPEAT;x++)data=Base64.getDecoder().decode(data); //多次解密return new String(data).replaceAll('{w+}',''); //刪除鹽值格式}} public class JavaAPIDemo{ public static void main(String[] args) throws Exception{ String str=StringUtil.encode('www.mldn.cn'); System.out.println(StringUtil.decode(str)); } }

本程序基于Base64類的功能實(shí)現(xiàn)了一個(gè)自定義加密與解密程序,為了保證加密后的數(shù)據(jù)安全,采用的鹽值格式為“鹽值{原始數(shù)據(jù)}”,同時(shí)利用多次加密的形式確保了密文數(shù)據(jù)的可靠性。在實(shí)際開(kāi)發(fā)中只要不對(duì)外公布鹽值內(nèi)容和加密次數(shù)就可以在較為安全的環(huán)境下進(jìn)行數(shù)據(jù)傳輸.

到此這篇關(guān)于java必懂的冷知識(shí)點(diǎn)之Base64加密與解密的文章就介紹到這了,更多相關(guān)java Base64加密與解密內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 97精品国产高清在线看入口 | 男人的天堂免费视频 | 免费人成综合在线视频 | 亚洲国产精选 | 欧美成人爽毛片在线视频 | 国产精品久久亚洲一区二区 | 香蕉久 | 久久亚洲国产中v天仙www | 九九视频免费在线观看 | 欧美一a级做爰 | 自拍在线视频 | 免费大片黄手机在线观看 | 亚洲精品理论 | 日本一级毛片片在线播放 | 三级国产精品 | 欧美日韩一区二区三区免费不卡 | 在线视频一区二区日韩国产 | 免费又黄又爽又猛大片午夜 | 在线播放国产真实女同事 | 国产精品特黄一级国产大片 | 欧美videosex性欧美成人 | 久久国产精品无码网站 | 亚洲综合色自拍一区 | 国产成人高清亚洲一区久久 | 中文字幕在线一区二区在线 | 婷婷亚洲久悠悠色在线播放 | 国产精品系列在线一区 | 国产一区二区中文字幕 | 自拍偷拍视频在线观看 | 最新国产毛片 | 俄罗斯毛片免费大全 | 国产亚洲精品精品国产亚洲综合 | 欧美精品国产制服第一页 | 色悠久 | 中国国产一级毛片视频 | 69成人免费视频 | 男女配种猛烈免费视频 | 思思久热re6这里有精品 | 国产日产欧产精品精品推荐在线 | 亚洲人成网站色7799在线观看 | 黄a视频 |