課程
/后端開發
/Java
/JAVA實現對稱加密
如何實現:提示用戶輸入字符串,并將字符串加密解密?
2016-05-21
源自:JAVA實現對稱加密 1-1
正在回答
可以簡單的這樣實現:
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("請輸入需要加密的內容:"); 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(); //轉換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(); } } }
舉報
為你帶來軟硬件通用的對稱加密算法,以及他們的應用范圍
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-05-22
可以簡單的這樣實現: