日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java 實現對稱加密算法

瀏覽:36日期:2022-08-20 18:05:42

概述

采用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。在對稱加密算法中,DES算法最具有代表性,DESede是DES算法的變種,AES算法則作為DES算法的替代者。

DES

DES(Data Encryption Standard),即數據加密標準,是一種使用密鑰加密的塊算法,1977年被美國聯邦政府的國家標準局確定為聯邦資料處理標準(FIPS),并授權在非密級政府通信中使用,隨后該算法在國際上廣泛流傳開來。

import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import java.util.Base64;public class DesUtil { /** * DES加密 * @param content 待加密數據 * @param key 密鑰 * @return * @throws Exception */ public static String desEncrypt(String content, String key) throws Exception { //指定加密算法、加密模式、填充模式 Cipher cipher = Cipher.getInstance('DES/ECB/PKCS5Padding'); //創建加密規則:指定key和加密類型 SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), 'DES'); //指定加密模式為加密,指定加密規則 cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec); //調用加密方法 byte[] result = cipher.doFinal(content.getBytes()); //用Base64編碼 return new String(Base64.getEncoder().encode(result)); } /** * DES解密 * @param content 待解密數據 * @param key 密鑰 * @return * @throws Exception */ public static String desDecrypt(String content, String key) throws Exception { //Base64解碼 byte[] result = Base64.getDecoder().decode(content); //指定加密算法、加密模式、填充模式 Cipher cipher = Cipher.getInstance('DES/ECB/PKCS5Padding'); //創建加密規則:指定key和加密類型 SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), 'DES'); //指定加密模式為解密,指定加密規則 cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); return new String(cipher.doFinal(result)); } public static void main(String[] args) throws Exception { //key要8位,不然會報錯:java.security.InvalidKeyException: Wrong key size String key = '12345678'; //待加密數據 String content = '對稱加密算法'; //加密 System.out.println(desEncrypt(content, key));//qDhh3hjbd+/TESXcV0YxC4ArDlFR1Mor //解密 System.out.println(desDecrypt('qDhh3hjbd+/TESXcV0YxC4ArDlFR1Mor', key));//對稱加密算法 }}

DESede

DESede是由DES改進后的一種對稱加密算法,針對其密鑰長度偏短和迭代次數偏少等問題做了相應改進,提高了安全強度。

import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import java.util.Base64;public class DesedeUtil { /** * Desede加密 * @param content 待加密數據 * @param key 密鑰 * @return * @throws Exception */ public static String desEncrypt(String content, String key) throws Exception { //指定加密算法、加密模式、填充模式 Cipher cipher = Cipher.getInstance('DESede/ECB/PKCS5Padding'); //創建加密規則:指定key和加密類型 SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), 'DESede'); //指定加密模式為加密,指定加密規則 cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec); //調用加密方法 byte[] result = cipher.doFinal(content.getBytes()); //用Base64編碼 return new String(Base64.getEncoder().encode(result)); } /** * Desede解密 * @param content 待解密數據 * @param key 密鑰 * @return * @throws Exception */ public static String desDecrypt(String content, String key) throws Exception { //Base64解碼 byte[] result = Base64.getDecoder().decode(content); //指定加密算法、加密模式、填充模式 Cipher cipher = Cipher.getInstance('DESede/ECB/PKCS5Padding'); //創建加密規則:指定key和加密類型 SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), 'DESede'); //指定加密模式為解密,指定加密規則 cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); return new String(cipher.doFinal(result)); } public static void main(String[] args) throws Exception { //key要24位,不然會報錯:java.security.InvalidKeyException: Wrong key size String key = '123456781234567812345678'; //待加密數據 String content = '對稱加密算法'; //加密 System.out.println(desEncrypt(content, key));//qDhh3hjbd+/TESXcV0YxC4ArDlFR1Mor //解密 System.out.println(desDecrypt('qDhh3hjbd+/TESXcV0YxC4ArDlFR1Mor', key));//對稱加密算法 }}

AES

AES(Advanced Encryption Standard),即高級加密標準,在密碼學中又稱Rijndael加密法,是美國聯邦政府采用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。

import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import java.util.Base64;public class AesUtil { /** * aes加密 * @param content 待加密數據 * @param key 密鑰 * @return * @throws Exception */ public static String aesEncrypt(String content, String key) throws Exception { //指定加密算法 Cipher cipher = Cipher.getInstance('AES'); //創建加密規則:指定key和加密類型 SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), 'AES'); //指定加密模式為加密,指定加密規則 cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec); //調用加密方法 byte[] result = cipher.doFinal(content.getBytes()); //用Base64編碼 return new String(Base64.getEncoder().encode(result)); } /** * aes解密 * @param content 待解密數據 * @param key 密鑰 * @return * @throws Exception */ public static String aesDecrypt(String content, String key) throws Exception { //Base64解碼 byte[] result = Base64.getDecoder().decode(content); //指定加密算法 Cipher cipher = Cipher.getInstance('AES'); //創建加密規則:指定key和加密類型 SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), 'AES'); //指定加密模式為解密,指定加密規則 cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); return new String(cipher.doFinal(result)); } public static void main(String[] args) throws Exception { //key要16/24/32位,不然會報錯:java.security.InvalidKeyException: Wrong key size String key = '12345678123456781234567812345678'; String content = '對稱加密算法'; //加密 System.out.println(aesEncrypt(content, key));//yrdeR6atwBX0yeXzudk/al6q8K61gyPylX7GfwsKP9w= //解密 System.out.println(aesDecrypt('yrdeR6atwBX0yeXzudk/al6q8K61gyPylX7GfwsKP9w=', key)); }}

以上就是Java 實現對稱加密算法的詳細內容,更多關于Java 對稱加密算法的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美激情综合| 亚洲免费激情| 亚洲免费中文| 欧美不卡在线| 国产精品久久久久av电视剧| 日本va欧美va精品| 婷婷综合成人| 国产欧美自拍一区| 国产精品任我爽爆在线播放| 国产精品丝袜在线播放| 美女久久99| 国产一区二区三区亚洲综合| 国产精品99一区二区三| 国产一区二区三区亚洲综合| 高清久久一区| 极品日韩av| 在线视频精品| 亚洲欧美网站在线观看| 日韩欧美精品一区二区综合视频| 日韩一区二区三区高清在线观看| 亚洲丝袜美腿一区| 日本中文字幕一区二区视频| 国产精品视频首页| 国产欧洲在线| 欧美日韩四区| 欧美日韩1区| 久久男人天堂| 黄色精品网站| 91精品国产一区二区在线观看| 国产欧美日韩在线一区二区| 国模大尺度视频一区二区| 国产一区欧美| 久久不见久久见中文字幕免费| 91视频一区| 亚洲一级淫片| 久久中文字幕一区二区| 久久一区二区三区喷水| 国产欧美日韩免费观看| 亚洲天堂一区二区| 日韩高清中文字幕一区| 久久精品国产久精国产爱| 亚洲国产日韩欧美在线| 国产亚洲精品美女久久| 亚洲一区资源| 日本亚洲欧美天堂免费| 美女视频黄免费的久久| 亚洲美洲欧洲综合国产一区| 久久99精品久久久野外观看| 婷婷综合社区| 国产91在线播放精品| 免费在线观看一区二区三区| 欧美精品1区| 日韩激情精品| 久久国产精品99国产| 日韩免费在线| 久久伊人久久| 国产日韩一区二区三区在线 | 日本不卡一区二区三区| 91精品韩国| 精品久久一区| 国产精品115| 日本三级亚洲精品| 精品中文字幕一区二区三区av| www.com.cn成人| 欧美天堂视频| 韩国精品主播一区二区在线观看 | 精精国产xxxx视频在线野外| 国产精品麻豆成人av电影艾秋| 日韩中文字幕在线一区| 在线精品视频在线观看高清| 九色精品91| 视频精品一区二区| 天堂精品久久久久| 日韩av一区二区在线影视| 日韩av一级片| 久久伊人亚洲| 亚洲天堂av影院| 红桃视频国产一区| 亚洲欧美网站在线观看| 日本午夜精品一区二区三区电影 | 国产在线成人| 亚洲在线免费| 久久久久久久久99精品大| 高清一区二区三区| 日韩欧美2区| 中文字幕日韩欧美精品高清在线| yellow在线观看网址| 亚洲va中文在线播放免费| 精品一区电影| 亚洲一区二区毛片| 日韩av影院| 精品国产一区二区三区性色av| 精品国产乱码| 亚洲二区在线| 伊人精品在线| 国产探花一区在线观看| 日韩国产一二三区| 麻豆精品久久| 一区二区亚洲精品| 国产精品一区二区精品| 久久中文字幕av| 欧美精品福利| 9久re热视频在线精品| 久久久久亚洲精品中文字幕| 韩日一区二区三区| 国产精品免费大片| 亚洲大全视频| 国产福利资源一区| 亚洲欧美日韩国产| 久久一区视频| 日本aⅴ精品一区二区三区| 国产综合色产| 国产99在线| 国产精品欧美在线观看| 亚洲在线观看| 欧美+亚洲+精品+三区| 免费一区二区三区在线视频| 首页欧美精品中文字幕| 欧美日韩免费观看视频| 麻豆精品视频在线观看视频| 日本国产亚洲| 亚洲一区黄色| 欧美日韩国产高清| av一区二区高清| 成人在线视频中文字幕| 国产精品夜夜夜| 日韩成人精品一区二区三区| 丝袜美腿成人在线| 1024精品一区二区三区| 日韩国产欧美| 亚洲精品一级二级| 久久理论电影| 香蕉国产精品| 国产一区白浆| 亚洲资源网站| 午夜亚洲福利| 日韩中文字幕| 欧美日韩一区二区国产| 国产精品一区二区av交换| 日本欧美在线看| 鲁大师成人一区二区三区| 欧美一区=区| 中文字幕亚洲精品乱码| 日本视频中文字幕一区二区三区| 日韩国产欧美在线播放| 国产伦精品一区二区三区千人斩| 久久99影视| 成人欧美一区二区三区的电影| 鲁鲁在线中文| 玖玖精品视频| 国产日韩免费| 亚洲少妇一区| 欧美日韩一区二区三区不卡视频 | 国产国产精品| 久久人人99| 亚洲色图综合| 老司机免费视频一区二区| 中文一区一区三区高中清不卡免费| 国产一区二区三区四区大秀| 久久一区二区中文字幕| 免费久久99精品国产| 久久xxxx| 少妇精品久久久一区二区| 欧美一区=区| 国产精品一线| 久久久人人人| 综合精品一区| 国产一区二区三区不卡av | 亚洲一区二区三区高清不卡| 日本在线成人| 天堂av在线| 日韩动漫一区| 欧美日韩中文一区二区| 日本99精品| 亚洲少妇一区| 日韩精品1区| 久久av在线| 91综合网人人| 日韩激情啪啪| 国产精品日本| 国产成人精品一区二区三区视频| 九色精品91| 国语精品一区| 国产精品调教| 中文视频一区| 久久精品一区二区不卡| 久久丁香四色| 欧美日韩亚洲国产精品| 三级一区在线视频先锋| 亚洲午夜精品久久久久久app| 免费日韩一区二区三区| 亚洲精品影视| 水野朝阳av一区二区三区| 成人av二区| 蜜桃视频欧美| 在线精品国产亚洲| 日韩av有码| 免费视频一区二区三区在线观看| 久久激情五月婷婷| 国产福利一区二区三区在线播放|