當前位置:編程學習大全網 - 源碼下載 - Puttext源代碼

Puttext源代碼

導入Java . security . *;

導入javax . crypto . *;

/**

*此示例解釋了如何使用DES私鑰加密算法進行加密和解密。

*

* @作者德文

* @版本1.0 04/03/10

*/

公共類SingleKeyExample {

公共靜態void main(String[] args) {

嘗試{

String algorithm = " DES//定義加密算法,可以是DES,DES,DESede,Blowfish。

String message = "Hello World。這是要加密的信息”;

//生成DES密鑰。

key generator key generator = key generator . getinstance(算法);

key generator . init(56);//選擇DES算法,密鑰長度必須是56位。

key key = key generator . generate key();//生成密鑰

//生成壹個密碼對象

cipher cipher = cipher . getinstance(" DES ");

//用密鑰加密明文,生成密文。

cipher.init(密碼。ENCRYPT_MODE,key);//操作模式是加密(cipher。encrypt _ mode),而密鑰就是密鑰。

byte[]密文= cipher . do final(message . getbytes());//獲取加密的字節數組

System.out.println("加密信息:"+新字符串(密文));

//用密鑰加密明文,生成密碼字節。

cipher.init(密碼。DECRYPT_MODE,key);//操作方式是解密,密鑰是密鑰。

byte[]source text = cipher . do final(密文);//獲取解密的字節數組

System.out.println("解密信息:"+新字符串(source text));

} catch (Exception ex) {

ex . printstacktrace();

}

}

}

/**

* @作者德文

*/

導入Java . security . *;

導入Java . security . spec . *;

導入javax . crypto . *;

公共類PairKeyExample {

公共靜態void main(String argv[]) {

嘗試{

String algorithm = " RSA//定義加密算法,可以是DES,DES,DESede,Blowfish。

String message = "妳好,張三,我是李四";

//生成張三的密鑰對。

密鑰對生成器密鑰生成器張=

KeyPairGenerator.getInstance(算法);//指定要使用的算法。

keygenerator Zhang . initialize(1024);//指定的密鑰長度是1024位。

key pair key pair Zhang = keygeneratorzhang . generatekeypair();//生成密鑰對

System.out.println("生成張三的公鑰對");

//張三生成壹個publicKeyZhang發送給李四,公鑰的數組字節在這裏發送。

byte[]public keyzhangencode = key pair Zhang . get public()。get encoded();

//通過網絡或磁盤將公鑰代碼發送給李四。

//李四接收張三編碼後的公鑰並解碼。

key factory keyFacoryLi = key factory . getinstance(算法);//獲取KeyFactory對象。

X509EncodedKeySpec x509KeySpec =

new x 509 encodedkeyspec(publicKeyZhangEncode);//公鑰由X.509編碼

public key public key Zhang = keyfacoryli . generate public(x509 key spec);//將公鑰的KeySpec對象轉換為公鑰。

System.out.println("李四成功解碼得到張三的公鑰");

//李四用張三的公鑰加密信息,發送給李四。

cipher cipher = cipher . getinstance(" RSA/ECB/pkcs 1 padding ");//獲取密碼對象

cipher.init(密碼。ENCRYPT_MODE,public key Zhang);//用張三的公鑰初始化Cipher對象。

byte[]cipher message = cipher . do final(message . getbytes());//獲取加密信息

System.out.println("加密消息:"+新字符串(cipher message));

System.out.println("加密後發給李四...");

//張三用自己的私鑰解密從李四那裏收到的信息。

cipher.init(密碼。DECRYPT_MODE,key pair Zhang . get private());//張三用自己的私鑰初始化密碼對象。

byte[]original message = cipher . do final(cipher message);//獲取解密的信息

System.out.println("張三收到消息解密為"+new String(original message));

} catch (Exception ex) {

ex . printstacktrace();

}

}

}

  • 上一篇:Java中Runnable和Thread的區別
  • 下一篇:psp合金裝備和平步行者漢化版的金手指代碼是多少?
  • copyright 2024編程學習大全網