亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

急等?。?!

如何實現:提示用戶輸入字符串,并將字符串加密解密?

正在回答

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();
		}
		
	}

}
0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JAVA實現對稱加密
  • 參與學習       32023    人
  • 解答問題       53    個

為你帶來軟硬件通用的對稱加密算法,以及他們的應用范圍

進入課程

急等?。?!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號