第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么加密的字符串過長時(shí),解密后長度丟失?

public??class?DH?{
	public?static?void?main(String[]?args)throws?Exception{
		//初始化發(fā)送方密鑰----------------------------------------------------------------
		KeyPairGenerator?keyPairGenerator=KeyPairGenerator.getInstance("DH");
		keyPairGenerator.initialize(1024);
		KeyPair?senderKeyPair=keyPairGenerator.generateKeyPair();
		byte[]?senderPbkEnc=senderKeyPair.getPublic().getEncoded();//得到發(fā)送方公鑰的??byte數(shù)組形式;>>>>>>>>>>>>>>>>>-傳遞給接受方
		
		//使用發(fā)送方密鑰中的參數(shù)?初始化接收方的密鑰載體------------------------------------------------
		KeyFactory?keyFactory=KeyFactory.getInstance("DH");
		X509EncodedKeySpec?x509EncodedKeySpec=new?X509EncodedKeySpec(senderPbkEnc);?//根據(jù)發(fā)送方給定的編碼密鑰創(chuàng)建一個(gè)符合編碼標(biāo)準(zhǔn)的?X509EncodedKeySpec
		
		PublicKey?publicKey=keyFactory.generatePublic(x509EncodedKeySpec);???//密鑰工廠根據(jù)?標(biāo)準(zhǔn)密鑰規(guī)范的編碼?生成公鑰
		
		DHParameterSpec?dhParameterSpec=DHPublicKey.class.cast(publicKey).getParams();??//從公鑰中獲取參數(shù)?
		KeyPairGenerator?keyPairGenerator2=KeyPairGenerator.getInstance("DH");
		keyPairGenerator2.initialize(1024);
		keyPairGenerator2.initialize(dhParameterSpec);?//利用發(fā)送方傳遞的公鑰中獲取的參數(shù)?初始化密鑰生成器
		KeyPair?receiverkeyPair=keyPairGenerator2.generateKeyPair();?//生成秘鑰
		
		PrivateKey?receiverPrivateKey=receiverkeyPair.getPrivate();?//獲得私鑰
		//獲得公鑰bytes??此公鑰用于傳遞給發(fā)送方
		byte[]?receiverPbkBytes=receiverkeyPair.getPublic().getEncoded();//>>>>>>>>>>>>>>>>>>>>>>傳遞給發(fā)送方
		
		//構(gòu)建接收方密鑰
		KeyAgreement?keyAgreement=KeyAgreement.getInstance("DH");
		keyAgreement.init(receiverPrivateKey);
		keyAgreement.doPhase(publicKey,?true);
		SecretKey?receiverSecretKey=keyAgreement.generateSecret("DES");?//接收方密鑰構(gòu)建完成
		
		//構(gòu)建發(fā)送方密鑰---------------------------------------------------------------
		KeyFactory?keyFactory2=keyFactory.getInstance("DH");
		X509EncodedKeySpec?x509EncodedKeySpec2=new?X509EncodedKeySpec(receiverPbkBytes);
		PublicKey?senderPublicKey=keyFactory2.generatePublic(x509EncodedKeySpec2);
		KeyAgreement?keyAgreement2=KeyAgreement.getInstance("DH");
		keyAgreement2.init(senderKeyPair.getPrivate());
		keyAgreement2.doPhase(senderPublicKey,?true);
		
		SecretKey?senderSecretKey?=keyAgreement2.generateSecret("DES");?//發(fā)送方密鑰構(gòu)建完成
		
		
		//進(jìn)行加解密
		String?str="imooc?security";
		Cipher?cipher=Cipher.getInstance("DES");
		cipher.init(Cipher.ENCRYPT_MODE,?senderSecretKey);
		cipher.update(str.getBytes());
		byte[]?bs=cipher.doFinal();
		System.out.println("DH加密后:"+Hex.encodeHexString(bs));
		
		cipher.init(Cipher.DECRYPT_MODE,?receiverSecretKey);
		System.out.println("解密后:"+new?String(cipher.doFinal(bs)));
		
	}
}

最后控制臺(tái)輸出 的事?curity ? 前面部分消失了

正在回答

1 回答

????????????String str="imooc security";

? ? ? ? ? ?Cipher cipher=Cipher.getInstance("DES");

? ? ? ? ? ?cipher.init(Cipher.ENCRYPT_MODE, senderSecretKey);

? ? ? ? ? ?byte[] bs=cipher.doFinal(str.getBytes());

加密代碼改成這樣就行了

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么加密的字符串過長時(shí),解密后長度丟失?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)