課程
/后端開發(fā)
/Java
/JAVA實現(xiàn)對稱加密
如何實現(xiàn):提示用戶輸入字符串,并將字符串加密解密?
2016-05-21
源自:JAVA實現(xiàn)對稱加密 1-1
正在回答
可以簡單的這樣實現(xiàn):
import?java.security.Key; import?java.util.Scanner; import?javax.crypto.Cipher; import?javax.crypto.KeyGenerator; import?javax.crypto.SecretKey; import?javax.crypto.SecretKeyFactory; import?javax.crypto.spec.DESKeySpec; import?org.apache.commons.codec.binary.Hex; public?class?TestDES?{ public?static?void?main(String[]?args)?{ Scanner?input?=?new?Scanner(System.in); System.out.println("請輸入需要加密的內(nèi)容:"); String?src?=?input.nextLine(); jdkDES(src); input.close(); } public?static?void?jdkDES(String?src)?{ try?{ //生成key KeyGenerator?keyGenerator?=?KeyGenerator.getInstance("DES"); SecretKey?secretKey?=?keyGenerator.generateKey(); byte[]?byteKey?=?secretKey.getEncoded(); //轉(zhuǎn)換Key DESKeySpec?desKeySpec?=?new?DESKeySpec(byteKey); SecretKeyFactory?factory?=?SecretKeyFactory.getInstance("DES"); Key?convertSecretKey?=?factory.generateSecret(desKeySpec); //加密 Cipher?cipher?=?Cipher.getInstance("DES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE,?convertSecretKey); byte[]?result?=?cipher.doFinal(src.getBytes()); System.out.println("jdk?des?encrypt:?"?+?Hex.encodeHexString(result)); //解密 cipher.init(Cipher.DECRYPT_MODE,?convertSecretKey); result?=?cipher.doFinal(result); System.out.println("jdk?des?decrypt:?"?+?new?String(result)); }?catch?(Exception?e)?{ e.printStackTrace(); } } }
舉報
為你帶來軟硬件通用的對稱加密算法,以及他們的應(yīng)用范圍
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-05-22
可以簡單的這樣實現(xiàn):