帶你詳細(xì)了解AES算法《附帶java、vue實(shí)現(xiàn)》-天天快資訊
(資料圖)
不論前途如何,不管發(fā)生什么事情,我們都不失去希望,希望是一種美德。——《雨果傳》
1.加密算法
在密碼學(xué)中,加密算法分為單向加密和雙向加密。單向加密包括MD5
、SHA
等摘要算法,它們是不可逆的。雙向加密包括對(duì)稱加密和非對(duì)稱加密。雙向加密是可逆的,存在密文的密鑰。對(duì)稱加密是指加密和解密使用相同的密鑰,包括AES
加密、DES
加密等。非對(duì)稱加密是指加密和解密使用不同的密鑰,包括RSA
加密等。2.AES介紹
是用來替代DES的新一代分組加密算法。AES支持三種長(zhǎng)度的密鑰:128位、192位、256位。AES:高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard)是美國(guó)聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn),是目前最流行的一種
對(duì)稱加密算法
。
3.AES的加密過程(AES處理單位:字節(jié))
AES
的加解密過程和DES
一樣,都是通過分組加密、分組解密。所謂分組加密,就是將待加解密的內(nèi)容按照128
位進(jìn)行分組,將密鑰按照128
位、192
位、256
位進(jìn)行分組,分別將分組后的明文與相應(yīng)分組后的密鑰進(jìn)行加解密。
加密: 明文與密鑰分組后,對(duì)每組:明文組與密鑰組處理 -> 輪密鑰加 -> 10輪加密 -> 密文組 解密: 對(duì)每組:密文組 -> 輪密鑰加 -> 10輪解密 -> 明文組
明文分組: 每組長(zhǎng)度相等,都是128位(16字節(jié)); 密鑰分組: 有128位、192位、256位,推薦加密輪數(shù)分別為 10、12、14
密鑰組處理: 以密鑰分組每組128位為例(則推薦加密輪數(shù)為10,前9次執(zhí)行操作一樣,第十次有所不同) 類似地,128位密鑰也是用字節(jié)為單位的矩陣表示,通過密鑰編排函數(shù),形成具有44個(gè)元素的序列W[0],W[1], … ,W[43](每個(gè)元素4個(gè)字節(jié));其中,W[0],W[1],W[2],W[3]為原始密鑰,其余40個(gè)元素分為10組,每組4個(gè)元素(4*4=16字節(jié)),分別用于10輪加密。
AES加密算法涉及4種操作: 字節(jié)替代(SubBytes)
、行移位(ShiftRows)
、列混淆(MixColumns)
和輪密鑰加(AddRoundKey
)。下圖給出了AES加解密的流程:
4.代碼實(shí)現(xiàn)
1.生成密鑰
public static String genAesSecret(){ try { KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); //密鑰長(zhǎng)度,單位:字節(jié),AES支持128、192、256字節(jié)長(zhǎng)度的密鑰,上面文章已介紹 keyGenerator.init(128); SecretKey sk = keyGenerator.generateKey(); byte[] b = sk.getEncoded(); return Base64.encodeBase64String(b); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); throw new RuntimeException("沒有此算法"); } }
2.AES加密
public static String aesEncrypt(String content) throws Exception { //指定加密算法 Cipher cipher = Cipher.getInstance("AES"); //創(chuàng)建加密規(guī)則:指定key和加密類型 SecretKeySpec secretKeySpec = new SecretKeySpec(SECRET.getBytes(), "AES"); //指定加密模式為加密,指定加密規(guī)則 cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec); //調(diào)用加密方法 byte[] result = cipher.doFinal(content.getBytes()); //用Base64編碼 return new String(java.util.Base64.getEncoder().encode(result)); }
3.AES解密
public static String aesDecrypt(String content) throws Exception { //Base64解碼 byte[] result = java.util.Base64.getDecoder().decode(content); //指定加密算法 Cipher cipher = Cipher.getInstance("AES"); //創(chuàng)建加密規(guī)則:指定key和加密類型 SecretKeySpec secretKeySpec = new SecretKeySpec(SECRET.getBytes(), "AES"); //指定加密模式為解密,指定加密規(guī)則 cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); return new String(cipher.doFinal(result)); }
注意:SECRET.getBytes()
我這里是一個(gè)常量密鑰,通過密鑰生成后寫成常量SECRET
。
4.前端解密
安裝依賴
npm install crypto-js --save-dev
// 引入import CryptoJS from "crypto-js"?// 密鑰const AES_KEY = "P@S5W0rDK3yBACHU" // 后端提供?// 解密export function decrypt (word) { var key = CryptoJS.enc.Utf8.parse(AES_KEY) var decrypt = CryptoJS.AES.decrypt(word, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }) return CryptoJS.enc.Utf8.stringify(decrypt).toString()}
5.Java測(cè)試用例
標(biāo)簽:
推薦文章
- 帶你詳細(xì)了解AES算法《附帶java、vue實(shí)現(xiàn)》-天天快資訊
- arbor
- 俄外長(zhǎng):西方媒體對(duì)“北溪”爆炸新說法“輕率不成熟” 今亮點(diǎn)
- 會(huì)銷禮品網(wǎng)
- 天天即時(shí)看!科技要聞:下一次Apple Watch活動(dòng)挑戰(zhàn)賽定于下個(gè)月的世界環(huán)境日
- 每日短訊:岳陽(yáng)林紙:2022年歸母凈利潤(rùn)同比增106.51%至6.16億元,擬10派1.38元
- 紅豆社區(qū)官網(wǎng)電腦版_紅豆社區(qū)崇左
- 春曉路_對(duì)于春曉路簡(jiǎn)單介紹
- 廣哈通信:公司根據(jù)發(fā)展需要 已與西安電子科技大學(xué)合作進(jìn)行物聯(lián)網(wǎng)、智能通信等方向的研究-天天視點(diǎn)
- 廣東松山職業(yè)技術(shù)學(xué)院占地面積_廣東松山職業(yè)技術(shù)學(xué)院首頁(yè)
- 焦點(diǎn)熱議:聯(lián)33_lian33
- 南充恒通電力公司開展“春風(fēng)十里,不如恒通有你”“三八”婦女節(jié)活動(dòng)
- 電腦麥克風(fēng)怎么打開win10_電腦麥克風(fēng)怎么打開_今日關(guān)注
- 少兒主持人大賽自我介紹一分鐘_少兒主持
- 【環(huán)球報(bào)資訊】珀萊雅紅寶石精華值不值得買(珀萊雅紅寶石精華)
- 兩年內(nèi)五起大事故 美國(guó)“毒火車”運(yùn)營(yíng)公司被查
- 天天滾動(dòng):大話西游之月光寶盒免費(fèi)完整版在線觀看
- 今熱點(diǎn):利元亨:公司正在加大清洗制絨、PVD、PECVD核心工藝的研發(fā)力度 已掌握相關(guān)核心技術(shù) 待實(shí)驗(yàn)驗(yàn)證
- 山東右典健康產(chǎn)業(yè)有限公司榮獲“山東社會(huì)責(zé)任最具影響力企業(yè)”
- 馬思純白敬亭演過的電視劇_白敬亭演過的電視劇
- 百度空間登錄頁(yè)面_百度空間登陸
- 綠茵生態(tài)(002887)3月9日主力資金凈賣出257.86萬元
- 梅西加盟巴黎后4場(chǎng)歐冠淘汰賽,隊(duì)報(bào)評(píng)分3場(chǎng)3分1場(chǎng)6分
- 學(xué)生第一次乘坐高鐵的流程_乘坐高鐵的流程-動(dòng)態(tài)焦點(diǎn)
- 觀熱點(diǎn):午間漲跌停分析:25只漲停股,0只跌停股,中公高科_數(shù)字經(jīng)濟(jì)6天5板
- 視頻文件有幾種格式_視頻格式有哪幾種|快訊
- 房屋知識(shí)科普:?? 房產(chǎn)證上是老公名字我有份嗎政策怎么規(guī)定的呢|當(dāng)前滾動(dòng)
- 天天日?qǐng)?bào)丨新天龍八部腳本哪個(gè)好_新天龍八部腳本
- 我市開展“智慧應(yīng)急”業(yè)務(wù)系統(tǒng)培訓(xùn)_全球看點(diǎn)
- 安徽匯誠(chéng)知識(shí)產(chǎn)權(quán)代理有限公司-焦點(diǎn)簡(jiǎn)訊
- 成都到廣州多少公里_成都到廣州
- 老百姓追捧的5款“廉價(jià)酒”,慢慢疊加的口碑,遇到別錯(cuò)過
- 快樂賺官網(wǎng) 世界觀焦點(diǎn)
- Inno3D宣布推出GeForceRTXiChillFrostbite系列水冷顯示卡|全球短訊
- 焦點(diǎn)快看:“春景這里獨(dú)好”詩(shī)人把柳樹寫活了,一枝一葉涌動(dòng)著畫意詩(shī)情
- 戰(zhàn)忽局是什么
- 大橋來新球隊(duì)前10場(chǎng)以180俱樂部命中率做到場(chǎng)均25+ NBA歷史首人
- 美團(tuán)團(tuán)節(jié)社是干什么的|全球關(guān)注
- 蘋果的吃法及做法大全簡(jiǎn)單_蘋果的吃法及做法大全
- 全球新資訊:立桿
- 我市現(xiàn)有林地面積和森林覆蓋率全省居首
- 【當(dāng)前獨(dú)家】吉利帝豪ec8
- 專家稱打 HPV 疫苗不必糾結(jié)幾價(jià):越早注射,效果越好
- 皮卡堂禮包激活碼領(lǐng)取-4399皮卡堂活動(dòng)禮包2激活碼是多少
- 東風(fēng)汽車公司技術(shù)中心_今日精選
- 【焦點(diǎn)熱聞】京泉華股東戶數(shù)下降43.19%,戶均持股39.34萬元
- 重點(diǎn)聚焦!卡斯卡里諾:如果芒特想要離開切爾西,可以考慮轉(zhuǎn)投紐卡
- 一匹等于多少瓦 每日焦點(diǎn)
- 環(huán)球關(guān)注:韓國(guó)警方搜查劉亞仁住宅 將以嫌疑人身份對(duì)其傳喚
- 月光變奏曲劇情介紹|全球消息
- 環(huán)球速看:快手辟謠擬收購(gòu)小貸牌照:消息不實(shí)
- 環(huán)球熱訊:世博大熊貓彩色金條價(jià)格今天多少一克(2023年03月07日)
- 《祝卿好》追劇日歷 《祝卿好》每周更新幾集
- 世界短訊!金都城:多空輪轉(zhuǎn),日內(nèi)留意下行走陰!
X 關(guān)閉
最新資訊
- 焦點(diǎn)訊息:全球十大催淚感人電影
- 當(dāng)前焦點(diǎn)!銀河號(hào)事件_說一說銀河號(hào)事件的簡(jiǎn)介
- 蒜薹炒肉絲教學(xué)視頻_蒜薹炒肉-當(dāng)前動(dòng)態(tài)
- 云南西盟:春色盎然催人進(jìn) 春耕備耕正當(dāng)時(shí)
- 美國(guó)紐約州發(fā)生踩踏事件 造成1死8傷 當(dāng)前快看
- 【環(huán)球播資訊】元宵節(jié)是法定節(jié)假日嗎 正月十五元宵節(jié)是不是法定節(jié)假日
- 霸氣的公會(huì)名字_霸氣的公會(huì)名字大全|今日播報(bào)
- 魔卡少女櫻透明牌
- 每日熱門:騰訊云容器服務(wù)CFS CSI插件升級(jí)參考
- 中國(guó)中免(601888)3月6日主力資金凈賣出5.15億元
- 呢子大衣怎么清洗
- 廈門集美兒童公園有幾個(gè)出入口?_每日快看
- 世界新消息丨三張葉
- 當(dāng)前速遞!055期唐龍排列三預(yù)測(cè)獎(jiǎng)號(hào):?jiǎn)翁粢蛔⑼扑]
- 世界肥胖聯(lián)合會(huì):全球一半人口2035年可能超重
- 周作人的簡(jiǎn)介以及他和魯迅的關(guān)系_當(dāng)前通訊
- 山東經(jīng)濟(jì)學(xué)院教工宿舍
- 世界新消息丨石田大和頭像_石田大和
- 森蚺和蟒蛇的區(qū)別是什么_森蚺和蟒蛇的區(qū)別
- 涇渭分明是指同一條河流嗎_環(huán)球觀察
- 杭州娃哈哈童裝有限公司_關(guān)于杭州娃哈哈童裝有限公司簡(jiǎn)述
- 滄海2-世界最資訊
- iban number是什么_iban號(hào)碼是什么
- 朱異字彥和文言文閱讀答案_朱異
- 小善舉、大力量!南通開發(fā)區(qū)實(shí)小集團(tuán)星湖校區(qū)愛心義賣傳遞溫暖|環(huán)球觀點(diǎn)
- 環(huán)球報(bào)道:四十一斤等于多少千克_一斤等于多少千克
- win10配置java環(huán)境變量_win10設(shè)置java環(huán)境變量
- 世界簡(jiǎn)訊:September的縮寫和意思_september的縮寫
- 03月05日00時(shí)甘肅白銀昨日累計(jì)報(bào)告陽(yáng)性感染者確診29例 怎么判斷自己是否屬于輕型感染者_(dá)環(huán)球熱點(diǎn)評(píng)
- 環(huán)球微頭條丨濕疹什么東西不能吃_得了濕疹不能吃什么
- 劉德華多大年齡病世_劉德華多大年齡|世界觀速訊
- 國(guó)家大劇院管弦樂團(tuán)2023中國(guó)巡演將啟
- 每日視訊:北京3月4日交通預(yù)報(bào):東西二環(huán)、東北三環(huán)等多地車多
- 專家:專項(xiàng)債拉動(dòng)投資成效凸顯 新基建領(lǐng)域增長(zhǎng)空間大-觀點(diǎn)
- 蘇有朋歌曲視頻現(xiàn)場(chǎng)版_蘇有朋歌曲-全球簡(jiǎn)訊
- 自主創(chuàng)新“定制”骨骼助患者挺直脊梁
- 環(huán)球精選!《九霄寒夜暖》蘇玖兒體寒
- 2012第五屆中國(guó)廣州優(yōu)質(zhì)大米展覽會(huì)_微頭條
- 教你怎么過沒錢的日子_教你怎么購(gòu)買QQ靚號(hào)|最新快訊
- 什么考慮?部分“小而美”基金閉門謝客|天天微資訊
- 湖南:第二批創(chuàng)新型中小企業(yè)名單 速看料
- 1.5平方銅線能帶3000瓦嗎_1 5平方銅線能帶3000瓦
- 嬰兒髖關(guān)節(jié)發(fā)育不良的癥狀_髖關(guān)節(jié)發(fā)育不良的癥狀|快資訊
- 湖南花垣:蠶桑產(chǎn)業(yè)在一線推進(jìn)
- 環(huán)球快看:AUTOCAD工程繪圖實(shí)訓(xùn)指導(dǎo)書
- 全球播報(bào):報(bào)告稱北溪管道爆炸嚴(yán)重危害海洋生物 殺死瀕危魚類或影響其繁殖
- 使用手機(jī)話費(fèi)怎么充值Q幣_(tái)手機(jī)話費(fèi)如何充值q幣
- 高盛(GS.US)暗示將進(jìn)一步削減消費(fèi)者業(yè)務(wù) 積極發(fā)展資管業(yè)務(wù)|環(huán)球新動(dòng)態(tài)
- dendrite
- 焦點(diǎn)速訊:3月1日生意社磷酸二銨基準(zhǔn)價(jià)為3980.00元/噸
X 關(guān)閉