Java使用AES加解密

AES是一種對(duì)稱的加密算法栗恩,可基于相同的密鑰進(jìn)行加密和解密拐迁。Java采用AES算法進(jìn)行加解密的邏輯大致如下:

  • 生成/獲取密鑰
  • 加/解密

1.1生成密鑰

密鑰的生成是通過KeyGenerator來生成的扯饶。通過獲取一個(gè)KeyGenerator實(shí)例扮匠,然后調(diào)用其generateKey()方法即可生成一個(gè)SecretKey對(duì)象吠架。

1.2密鑰的存儲(chǔ)

密鑰SecretKey里面最核心的內(nèi)容就是其中的密鑰對(duì)應(yīng)的字節(jié)數(shù)組,可以通過SecretKey的getEncoded()方法獲取蔬啡。然后把它存儲(chǔ)起來即可侥加。最簡單的方式就是直接寫入一個(gè)文件中翩肌。

1.3獲取存儲(chǔ)的密鑰

獲取存儲(chǔ)的密鑰的核心是把密鑰的字節(jié)數(shù)組轉(zhuǎn)換為對(duì)應(yīng)的SecretKey轴总。這可以通過SecretKeySpec來獲取怔檩,其實(shí)現(xiàn)了SecretKey接口,然后構(gòu)造參數(shù)里面將接收密鑰的字節(jié)數(shù)組空猜。

1.4加解密

Java采用AES算法進(jìn)行加解密的過程是類似的绽慈,具體如下:
1、指定算法辈毯,獲取一個(gè)Cipher實(shí)例對(duì)象
2坝疼、生成/讀取用于加解密的密鑰
3、用指定的密鑰初始化Cipher對(duì)象谆沃,同時(shí)指定加解密模式钝凶,是加密模式還是解密模式。
4唁影、通過Cipher的dofinal(byte[] var1)進(jìn)行最終的加解密操作耕陷。
"AES/CBC/PKCS5Padding":"算法/模式/補(bǔ)碼方式" 
"DES/ECB/PKCS5Padding":"算法/模式/補(bǔ)碼方式" 
1、是DES据沈,不是3DES哟沫。
2、分組模式是ECB锌介,所以不需要初始化向量嗜诀。
3猾警、填充模式是PKCS5Padding。

參考鏈接
iOS和java后端AES加解密

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末隆敢,一起剝皮案震驚了整個(gè)濱河市发皿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拂蝎,老刑警劉巖雳窟,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異匣屡,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拇涤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門捣作,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鹅士,你說我怎么就攤上這事券躁。” “怎么了掉盅?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵也拜,是天一觀的道長。 經(jīng)常有香客問我趾痘,道長慢哈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任永票,我火速辦了婚禮卵贱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘侣集。我一直安慰自己键俱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布世分。 她就那樣靜靜地躺著编振,像睡著了一般。 火紅的嫁衣襯著肌膚如雪臭埋。 梳的紋絲不亂的頭發(fā)上踪央,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音斋泄,去河邊找鬼杯瞻。 笑死,一個(gè)胖子當(dāng)著我的面吹牛炫掐,可吹牛的內(nèi)容都是我干的魁莉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼旗唁!你這毒婦竟也來了畦浓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤检疫,失蹤者是張志新(化名)和其女友劉穎讶请,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屎媳,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡夺溢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了烛谊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片风响。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖丹禀,靈堂內(nèi)的尸體忽然破棺而出状勤,到底是詐尸還是另有隱情,我是刑警寧澤双泪,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布持搜,位于F島的核電站,受9級(jí)特大地震影響焙矛,放射性物質(zhì)發(fā)生泄漏葫盼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一村斟、第九天 我趴在偏房一處隱蔽的房頂上張望剪返。 院中可真熱鬧,春花似錦邓梅、人聲如沸脱盲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钱反。三九已至,卻和暖如春匣距,著一層夾襖步出監(jiān)牢的瞬間面哥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國打工毅待, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尚卫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓尸红,卻偏偏與公主長得像吱涉,于是被迫代替她去往敵國和親刹泄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文主要介紹移動(dòng)端的加解密算法的分類怎爵、其優(yōu)缺點(diǎn)特性及應(yīng)用特石,幫助讀者由淺入深地了解和選擇加解密算法。文中會(huì)包含算法的...
    蘋果粉閱讀 11,506評(píng)論 5 29
  • 本文將分兩個(gè)專題去理解HTTPS鳖链。 專題一:HTTPS為什么安全 1姆蘸、http為什么不安全? http協(xié)議屬于明文...
    kaitoulee閱讀 5,282評(píng)論 11 82
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理芙委,服務(wù)發(fā)現(xiàn)逞敷,斷路器,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • 首先羅列一些知識(shí)點(diǎn): 1.加密算法通常分為對(duì)稱性加密算法和非對(duì)稱性加密算法:對(duì)于對(duì)稱性加密算法灌侣,信息接收雙方都需事...
    JonesCxy閱讀 1,386評(píng)論 2 4
  • 數(shù)據(jù)傳輸加密 在開發(fā)應(yīng)用過程中兰粉,客戶端與服務(wù)端經(jīng)常需要進(jìn)行數(shù)據(jù)傳輸,涉及到重要隱私信息時(shí)顶瞳,開發(fā)者自然會(huì)想到對(duì)其進(jìn)行...
    chaychan閱讀 6,966評(píng)論 8 93