導航:首頁 > 編程語言 > java加密與解密的藝術2

java加密與解密的藝術2

發布時間:2022-09-01 03:46:40

Ⅰ Effective java中文版的內容簡介

《Effective Java中文版(第2版)》主要內容:在Java編程中78條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。通過對Java平台設計專家所使用的技術的全面描述,揭示了應該做什麼,不應該做什麼才能產生清晰、健壯和高效的代碼。第2版反映了Java 5中最重要的變化,並刪去了過時的內容。
《Effective Java中文版(第2版)》中的每條規則都以簡短、獨立的小文章形式出現,並通過示例代碼加以進一步說明。
《Effective Java中文版(第2版)》的內容包括:
全新的泛型、枚舉、註解、自動裝箱、for-each循環、可變參數、並發機制,等等。
經典主題的全新技術和最佳實踐,包括對象.類、類庫、方法和序列化。
如何避免Java編程語言中常被誤解的細微之處:陷阱和缺陷。
點擊鏈接進入Java程序設計:
《深入理解Java虛擬機:JVM高級特性與最佳實踐》
《JAVA核心技術(卷1):基礎知識(原書第8版)》
《JAVA核心技術卷2:高級特徵》
《Java語言程序設計(基礎篇)(原書第8版)》
《Java編程思想(第4版)》
《Effective Java中文版(第2版)》
《Java編程思想(英文版?第4版)》
《Java 實時編程》
《Java加密與解密的藝術》
《Eclipse插件開發(原書第3版)(暢銷插件開發指南新版)》
《Java語言程序設計:進階篇(原書第8版)》
《Maven實戰》

Ⅱ 如何用JAVA實現字元串簡單加密解密

java加密字元串可以使用des加密演算法,實例如下:
package test;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.security.*;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
/**
* 加密解密
*
* @author shy.qiu
* @since http://blog.csdn.net/qiushyfm
*/
public class CryptTest {
/**
* 進行MD5加密
*
* @param info
* 要加密的信息
* @return String 加密後的字元串
*/
public String encryptToMD5(String info) {
byte[] digesta = null;
try {
// 得到一個md5的消息摘要
MessageDigest alga = MessageDigest.getInstance("MD5");
// 添加要進行計算摘要的信息
alga.update(info.getBytes());
// 得到該摘要
digesta = alga.digest();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
// 將摘要轉為字元串
String rs = byte2hex(digesta);
return rs;
}
/**
* 進行SHA加密
*
* @param info
* 要加密的信息
* @return String 加密後的字元串
*/
public String encryptToSHA(String info) {
byte[] digesta = null;
try {
// 得到一個SHA-1的消息摘要
MessageDigest alga = MessageDigest.getInstance("SHA-1");
// 添加要進行計算摘要的信息
alga.update(info.getBytes());
// 得到該摘要
digesta = alga.digest();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
// 將摘要轉為字元串
String rs = byte2hex(digesta);
return rs;
}
// //////////////////////////////////////////////////////////////////////////
/**
* 創建密匙
*
* @param algorithm
* 加密演算法,可用 DES,DESede,Blowfish
* @return SecretKey 秘密(對稱)密鑰
*/
public SecretKey createSecretKey(String algorithm) {
// 聲明KeyGenerator對象
KeyGenerator keygen;
// 聲明 密鑰對象
SecretKey deskey = null;
try {
// 返回生成指定演算法的秘密密鑰的 KeyGenerator 對象
keygen = KeyGenerator.getInstance(algorithm);
// 生成一個密鑰
deskey = keygen.generateKey();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
// 返回密匙
return deskey;
}
/**
* 根據密匙進行DES加密
*
* @param key
* 密匙
* @param info
* 要加密的信息
* @return String 加密後的信息
*/
public String encryptToDES(SecretKey key, String info) {
// 定義 加密演算法,可用 DES,DESede,Blowfish
String Algorithm = "DES";
// 加密隨機數生成器 (RNG),(可以不寫)
SecureRandom sr = new SecureRandom();
// 定義要生成的密文
byte[] cipherByte = null;
try {
// 得到加密/解密器
Cipher c1 = Cipher.getInstance(Algorithm);
// 用指定的密鑰和模式初始化Cipher對象
// 參數:(ENCRYPT_MODE, DECRYPT_MODE, WRAP_MODE,UNWRAP_MODE)
c1.init(Cipher.ENCRYPT_MODE, key, sr);
// 對要加密的內容進行編碼處理,
cipherByte = c1.doFinal(info.getBytes());
} catch (Exception e) {
e.printStackTrace();
}
// 返回密文的十六進制形式
return byte2hex(cipherByte);
}
/**
* 根據密匙進行DES解密
*
* @param key
* 密匙
* @param sInfo
* 要解密的密文
* @return String 返回解密後信息
*/
public String decryptByDES(SecretKey key, String sInfo) {
// 定義 加密演算法,
String Algorithm = "DES";
// 加密隨機數生成器 (RNG)
SecureRandom sr = new SecureRandom();
byte[] cipherByte = null;
try {
// 得到加密/解密器
Cipher c1 = Cipher.getInstance(Algorithm);
// 用指定的密鑰和模式初始化Cipher對象
c1.init(Cipher.DECRYPT_MODE, key, sr);
// 對要解密的內容進行編碼處理
cipherByte = c1.doFinal(hex2byte(sInfo));
} catch (Exception e) {
e.printStackTrace();
}
// return byte2hex(cipherByte);
return new String(cipherByte);
}
// /////////////////////////////////////////////////////////////////////////////
/**
* 創建密匙組,並將公匙,私匙放入到指定文件中
*
* 默認放入mykeys.bat文件中
*/
public void createPairKey() {
try {
// 根據特定的演算法一個密鑰對生成器
KeyPairGenerator keygen = KeyPairGenerator.getInstance("DSA");
// 加密隨機數生成器 (RNG)
SecureRandom random = new SecureRandom();
// 重新設置此隨機對象的種子
random.setSeed(1000);
// 使用給定的隨機源(和默認的參數集合)初始化確定密鑰大小的密鑰對生成器
keygen.initialize(512, random);// keygen.initialize(512);
// 生成密鑰組
KeyPair keys = keygen.generateKeyPair();
// 得到公匙
PublicKey pubkey = keys.getPublic();
// 得到私匙
PrivateKey prikey = keys.getPrivate();
// 將公匙私匙寫入到文件當中
doObjToFile("mykeys.bat", new Object[] { prikey, pubkey });
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
/**
* 利用私匙對信息進行簽名 把簽名後的信息放入到指定的文件中
*
* @param info
* 要簽名的信息
* @param signfile
* 存入的文件
*/
public void signToInfo(String info, String signfile) {
// 從文件當中讀取私匙
PrivateKey myprikey = (PrivateKey) getObjFromFile("mykeys.bat", 1);
// 從文件中讀取公匙
PublicKey mypubkey = (PublicKey) getObjFromFile("mykeys.bat", 2);
try {
// Signature 對象可用來生成和驗證數字簽名
Signature signet = Signature.getInstance("DSA");
// 初始化簽署簽名的私鑰
signet.initSign(myprikey);
// 更新要由位元組簽名或驗證的數據
signet.update(info.getBytes());
// 簽署或驗證所有更新位元組的簽名,返回簽名
byte[] signed = signet.sign();
// 將數字簽名,公匙,信息放入文件中
doObjToFile(signfile, new Object[] { signed, mypubkey, info });
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 讀取數字簽名文件 根據公匙,簽名,信息驗證信息的合法性
*
* @return true 驗證成功 false 驗證失敗
*/
public boolean validateSign(String signfile) {
// 讀取公匙
PublicKey mypubkey = (PublicKey) getObjFromFile(signfile, 2);
// 讀取簽名
byte[] signed = (byte[]) getObjFromFile(signfile, 1);
// 讀取信息
String info = (String) getObjFromFile(signfile, 3);
try {
// 初始一個Signature對象,並用公鑰和簽名進行驗證
Signature signetcheck = Signature.getInstance("DSA");
// 初始化驗證簽名的公鑰
signetcheck.initVerify(mypubkey);
// 使用指定的 byte 數組更新要簽名或驗證的數據
signetcheck.update(info.getBytes());
System.out.println(info);
// 驗證傳入的簽名
return signetcheck.verify(signed);
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 將二進制轉化為16進制字元串
*
* @param b
* 二進制位元組數組
* @return String
*/
public String byte2hex(byte[] b) {
String hs = "";
String stmp = "";
for (int n = 0; n < b.length; n++) {
stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));
if (stmp.length() == 1) {
hs = hs + "0" + stmp;
} else {
hs = hs + stmp;
}
}
return hs.toUpperCase();
}
/**
* 十六進制字元串轉化為2進制
*
* @param hex
* @return
*/
public byte[] hex2byte(String hex) {
byte[] ret = new byte[8];
byte[] tmp = hex.getBytes();
for (int i = 0; i < 8; i++) {
ret[i] = uniteBytes(tmp[i * 2], tmp[i * 2 + 1]);
}
return ret;
}
/**
* 將兩個ASCII字元合成一個位元組; 如:"EF"--> 0xEF
*
* @param src0
* byte
* @param src1
* byte
* @return byte
*/
public static byte uniteBytes(byte src0, byte src1) {
byte _b0 = Byte.decode("0x" + new String(new byte[] { src0 }))
.byteValue();
_b0 = (byte) (_b0 << 4);
byte _b1 = Byte.decode("0x" + new String(new byte[] { src1 }))
.byteValue();
byte ret = (byte) (_b0 ^ _b1);
return ret;
}
/**
* 將指定的對象寫入指定的文件
*
* @param file
* 指定寫入的文件
* @param objs
* 要寫入的對象
*/
public void doObjToFile(String file, Object[] objs) {
ObjectOutputStream oos = null;
try {
FileOutputStream fos = new FileOutputStream(file);
oos = new ObjectOutputStream(fos);
for (int i = 0; i < objs.length; i++) {
oos.writeObject(objs[i]);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 返回在文件中指定位置的對象
*
* @param file
* 指定的文件
* @param i
* 從1開始
* @return
*/
public Object getObjFromFile(String file, int i) {
ObjectInputStream ois = null;
Object obj = null;
try {
FileInputStream fis = new FileInputStream(file);
ois = new ObjectInputStream(fis);
for (int j = 0; j < i; j++) {
obj = ois.readObject();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return obj;
}
/**
* 測試
*
* @param args
*/
public static void main(String[] args) {
CryptTest jiami = new CryptTest();
// 執行MD5加密"Hello world!"
System.out.println("Hello經過MD5:" + jiami.encryptToMD5("Hello"));
// 生成一個DES演算法的密匙
SecretKey key = jiami.createSecretKey("DES");
// 用密匙加密信息"Hello world!"
String str1 = jiami.encryptToDES(key, "Hello");
System.out.println("使用des加密信息Hello為:" + str1);
// 使用這個密匙解密
String str2 = jiami.decryptByDES(key, str1);
System.out.println("解密後為:" + str2);
// 創建公匙和私匙
jiami.createPairKey();
// 對Hello world!使用私匙進行簽名
jiami.signToInfo("Hello", "mysign.bat");
// 利用公匙對簽名進行驗證。
if (jiami.validateSign("mysign.bat")) {
System.out.println("Success!");
} else {
System.out.println("Fail!");
}
}
}

Ⅲ java 加密與解密的藝術怎麼樣

這幾章主要介紹了一些為什麼要加密,加密的歷史原因以及演變過程,並介紹了幾種常見的加密演算法,畫出了對稱與非對稱加密在實際應用中的思維導圖。
(了解到加密技術分為對稱加密,非對稱加密,單向加密(散列加密))
(一般單向加密用於提供數據完整性的校驗,使用到的演算法有MD5,SHA1等Hash演算法),(消息認證,鑒權等多用非對稱加密演算法,通過使用數字證書,公鑰私鑰來實現)
另外,JCA 是提供基礎的加密框架,類似於一個工廠,生產密鑰產生器,數字證書,簽名等基礎設施。JCE 是JCA的擴展,也就是加工廠,拿到JCA的基礎設施後,放入一些亂七八糟的演算法,讓產出的產品具有保密性。JSSE 是負責在網路傳輸中加密的,是基於SSL的。

JCE 最後封裝成了一套介面,作為安全提供者介面。據說,它的精髓就是,引擎和演算法。一個演算法是一個引擎的具體實現,例如(provider + rsa演算法)
↑ 這裡面使用到了提供者模式。↑ 即,基礎功能提供者只需要關注提供哪種服務(加密,解密,or anyone else),不需要關心演算法是否又推層出新了。
(據書里說,java.security.Provider 和 java.security.Security 這兩個類是JCE的核心,於是我去翻了翻API)……基本看不到什麼有意思的。
於是人書里繼續說了,其實真的要實現加密解密,還要用javax.crypto里的功能。好吧,這樣就和我見過的匹配上了。所以上面說的核心只是說掌握如何操作,這里的核心是干實事,基層核心。

Ⅳ 如何利用JAVA對文檔進行加密和解密處理,完整的java類

我以前上密碼學課寫過一個DES加解密的程序,是自己實現的,不是通過調用java庫函數,代碼有點長,帶有用戶界面。需要的話聯系我

Ⅳ 求Java加密與解密的藝術-梁棟書籍電子版百度雲資源

《Java加密與解密的藝術》網路網盤免費資源下載:

鏈接: https://pan..com/s/1g6zJczJGFdX7wCkb8AxB-Q

提取碼:BXSX

《Java加密與解密的藝術》是2010年機械工業出版社出版的圖書,作者是梁棟。本書講解了加密技術對數字證書和SSL/TLS協議的應用,又以示例的方式講解了加密與解密技術在網路中的實際應用。


Ⅵ Java加密與解密的藝術的創作背景

眾所周知,JavaEE是目前企業應用中使用最廣泛的技術之一,幾乎在任何一個領域都能看到JavaEE的身影。隨著加密與解密演算法的發展,Java加密與解密技術不斷演進,不斷提高著數據的安全性,已成為大企業應用中一項關鍵性的技術。
很多企業應用領域的架構師都很關注加密與解密演算法在應用中的使用,譬如用戶密碼加密、網路協議加密等。如何在名目繁多的Java加密與解密技術中選擇合適的演算法進行企業級應用開發,如何解決Java加密與解密技術開發過程中遇到的各種問題,這成為了許多開發者,尤其是架構師關注的焦點問題。然而,國內目前還沒有一本書能解決這些問題。本書的作者因工作需要,採用Java加密與解密技術成功構建了企業級應用網銀系統。在開發過程中,作者感受到了Java加密與解密技術的精妙。作者希望把Java加密與解密技術在企業及應用開發領域的經驗和心得分享給廣大讀者,提升企業應用的安全性。

Ⅶ Java加密與解密的藝術的圖書目錄

第1章 企業應用安全
1.1 我們身邊的安全問題
1.2 拿什麼拯救你,我的應用
1.2.1 安全技術目標
1.2.2 OSI安全體系結構
1.2.3 TCP/IP安全體系結構
1.3 捍衛企業應用安全的銀彈
1.3.1 密碼學在安全領域中的身影
1.3. 2 密碼與JavaEE
1.4 為你的企業應用上把鎖
1.5 小結
第2章 企業應用安全的銀彈—密碼學
2.1 密碼學得發家史
2.1.1 手工加密階段
2.1.2 機械加密階段
2.1.3 計算機加密階段
2.2密碼學定義、術語及其分類
2.2.1密碼學常用術語
2.2.1密碼學分類
2.3 保密通信模型
2.4 古典密碼
2.5 對稱密碼體制
2.5.1 流密碼
2.5.2 分組密碼
2.6 非對稱密碼體制
2.7 散列函數
2.8 數字簽名
2.9 密碼學的未來
2.9.1密碼演算法的破解
2.9.2 密碼學的明天
2.10 小結
第3章 Java加密利器
3.1 Java與密碼學
3.1.1 Java安全領域組成部分
3.1.2 關於出口的限制
3.1.3 本書所使用的軟體
3.1.4 關於本章內容
3.2 java.security包詳解
3.2.1 Provider
3.2.2 Security
3.2.3 MessageDigest
3.2.4 DigestInputStream
3.2.5 DigestOutputStream
3.2.6 key
3.2.7 AlgorithmParameters
3.2.8 AlgorithmParameter-Generator
3.2.9 KeyPair
3.2.10 KeyPairGenerator
3.2.11 KeyFactory
3.2.12 SecureRandom
3.2.13 Signature
3.2.14 SignedObject
3.2.15 Timestamp
3.2.16 CodeSigner
3.2.17 KeyStore
3.3 javax.crypto包詳解
3.3.1 Mac
3.3.2 KeyGenerator
3.3.3KeyAgreement
3.3.4 SecretKeyFactory
3.3.5 Clipher
3.3.6 ClipherInputStream
3.3.7 ClipheroutStream
3.3.8 SealedObject
3.4 java.security.spec包和javax.crypto.spec包詳解
3.4.1 KeySpec和Algorithm-ParameterSpec
3.4.2 EncodeKeySpec
3.4.3 SecreKeySpec
3.4.4 DESKeySpec
3.5 java/security.cert包詳解
3.5.1 Certificate
3.5.2 CertificateFactory
3.5.3 X509Certificate
3.5.4 CRL
3.5.5 X509CRLEntry
3.5.6 X509CRL
3.5.7 CertPath
3.6 javax.net.ssl包詳解
3.6.1 KeyManagerFactory
3.6.2 TrustManagerFactory
3.6.3 SSLContext
3.6.4 HttpsURLConnection
3.7 小結
第4章 他山之石,可以攻玉
4.1 加固你的系統
4.1.1 獲得許可權文件
4.1.2 配置許可權文件
4.1.3 驗證配置
4.2 加密組件BouncyCastle
4.2.1 獲得加密組件
4.2.2 擴充演算法支持
4.2.3 相關API
4.3 輔助工具CommonsCodec
4.3.1 獲得輔助工具
4.3.2 相關API
4.4 小結 第5章 電子郵件傳輸演算法——Base64
5.1 Base64演算法的由來
5.2 Base64演算法的定義
5.3 Base64演算法與加密演算法的關系
5.4 實現原理
5.4.1 ASCII碼字元編碼
5.4.2 非ASCII碼字元編碼
5.5 模型分析
5.6 Base演算法實現
5.6.1 Bounty Castle
5.6.2 Commons Codec
5.6.3 兩種實現方式的差異
5.6.4 不得不說的問題
5.7 Url Base64 演算法實現
5.7.1 Bounty Castle
5.7.2 Commons Codec
5.6.3 兩種實現方式的差異
5.8 應用舉例
5.8.1 電子郵件傳輸
5.8.2 網路數據傳輸
5.8.3 密鑰存儲
5.8.4 數字證書存儲
5.9 小結
第6章 驗證數據完整性——消息摘要演算法
6.1 消息摘要演算法簡述
6.1.1 消息摘要演算法的由來
6.1.2 消息摘要演算法的家譜
6.2 MD演算法家族
6.2.1 簡述
6.2.2 模型分析
6.2.3 實現
6.3 SHA演算法家族
6.3.1 簡述
6.3.2 模型分析
6.3.3 實現
6.4 MAC演算法家族
6.4.1簡述
6.4.2模型分析
6.4.3 實現
6.5 其它消息摘要演算法
6.5.1 簡述
6.5.2實現
6.6循環冗餘校驗演算法——CRC演算法
6.61 簡述
6.62 模型分析
6.63 實現
6.7 實例:文件校驗
6.8 小結
第7章 初等數據加密——對稱加密演算法
7.1 對稱加密演算法簡述
7.1.1 對稱加密演算法的由來
7.1.2 對稱加密演算法的家譜
7.2 數據加密的標准——DES
7.2.1 簡述
7.2.2 模型分析
7.2.3 實現
7.3 三重DES——DESede
7.3.1 簡述
7.3.2 實現
7.4 高級數據加密標准——AES
7.4.1 簡述
7.4.2 實現
7.5 國際數據加密——AES
7.5簡述
7.5.2 實現
7.6 基於口令加密——PBE
7.6.1 簡述
7.6.2 模型分析
7.6.3 實現
7.7 實例:對稱加密網路應用
7.8 小結
第8章 高等數據加密——非對稱加密演算法
8.1 非對稱加密演算法簡述
8.1.1 非對稱加密演算法的由來
8.1.2 非對稱加密演算法的家譜
8.2 密鑰交換演算法——DH
8.2.1 簡述
8.2.2 模型分析
8.2.3 實現
8.3 典型非對稱加密演算法——RSA
8.3.1 簡述
8.3.2 模型分析
8.3.3 實現
8.4 常用非對稱加密演算法——ELGamal
8.4.1 簡述
8.4.2 模型分析
8.4.3 實現
8.5 實例:非對稱加密網路應用
8.6 小結
第9章 帶著密鑰的消息摘要演算法——數字簽名演算法
9.1 數字簽名演算法簡述
9.1.1 數字簽名演算法的由來
9.1.2 數字簽名演算法的家譜
9.2 模型分析
9.3 經典簽名標准演算法——RSA
9.3.1 簡述
9.3.2 實現
9.4 數字簽名標准演算法——DSA
9.4.1 簡述
9.4.2 實現
9.5 橢圓曲線數字簽名演算法——ECDSA
9.5.1 簡述
9.5.2 實現
9.6 實例:帶有數字簽名的加密
網路應用
9.7 小結 第10章 終極武器—數字證書
10.1數字證書詳解
10.2 模型分析
10.2.1 證書簽發
10.2.2 加密交互
10.3 證書管理
10.3.1 KeyTool證書管理
10.3.2 OpenSSl證書管理
10.4 證書使用
10.5 應用舉例
10.6小結
第11章 終極裝備—安全協議
11.1 安全協議簡述
11.1.1 HTTPS協議
11.1.2 SSL/TLS協議
11.2 模型分析
11.2.1 協商演算法
11.2.2 驗證密鑰
11.2.3 產生密鑰
11.2.4 加密交互
11.3 單向認證服務
11.3.1 准備工作
11.3.2 服務驗證
11.3.3 代碼驗證
11.4 雙向認證服務
11.4.1 准備工作
11.4.2 服務驗證
11.4.3 代碼驗證
11.5 應用舉例
11.6 小結
第12章 量體裁衣—為應用選擇合適的裝備
12.1 實例:常規Web應用開發安全
12.1.1 常規Web應用基本實現
12.1.2 安全升級1——摘要處理
12.1.3 安全升級2——加鹽處理
12.2 實例:IM應用開發安全
12.2.1 IM應用開發基本實現
12.2.2 安全升級1——隱藏數據
12.2.3 安全升級2——加密數據
12.3 實例:Web Service應用開發安全
12.3.1WebService應用幾本實現
12.3.2安全升級1——單向認證服務
12.3.3安全升級2——雙向認證服務
12.4小結
附錄A Java6支持的演算法
附錄B Bouncy Castle支持的演算法

Ⅷ Java 加密解密的方法都有哪些

加密解密並非java才有的,所有編程語言都有加密和解密。

目前的加密解密主要可分為以下2大類:

  1. 對稱秘鑰加密:如DES演算法,3DES演算法,TDEA演算法,Blowfish演算法,RC5演算法,IDEA演算法等。其主要特點是加密方和解密方都有同一個密碼,加密方和解密方可以使用秘鑰任意加密解密。

  2. 非對稱密碼加密:這種加密方式加密方僅有加密秘鑰,對加密後的密文無法反向解密,解密方僅有解密秘鑰,無法對明文進行加密。


另外還有一些摘要演算法,比如MD5和HASH此類演算法不可逆,但經常用來作為確認欄位或者對一些重要匹配信息簽名防止明文內容被修改。

Ⅸ 《Java加密與解密的藝術》epub下載在線閱讀全文,求百度網盤雲資源

《Java加密與解密的藝術》(梁棟)電子書網盤下載免費在線閱讀

鏈接: https://pan..com/s/1xQ-3BdFiSEcNZpqXxZqvuQ

提取碼: nmuy

書名:Java加密與解密的藝術

作者:梁棟

豆瓣評分:7.1

出版社:機械工業出版社

出版年份:2010-4

頁數:450

內容簡介:

本書是Java安全領域的網路全書,密碼學領域的權威經典,4大社區一致鼎力推薦。

全書包含3個部分,基礎篇對Java企業級應用的安全知識、密碼學核心知識、與Java加密相關的API和通過許可權文件加強系統安全方面的知識進行了全面的介紹;實踐篇不僅對電子郵件傳輸演算法、消息摘要演算法、對稱加密演算法、非對稱加密演算法、數字簽名演算法等現今流行的加密演算法的原理進行了全面而深入的剖析,而且還結合翔實的範例說明了各種演算法的具體應用場景;綜合應用篇既細致地講解了加密技術對數字證書和SSL/TLS協議的應用,又以示例的方式講解了加密與解密技術在網路中的實際應用,極具實踐指導性。

Java開發者將通過本書掌握密碼學和Java加密與解密技術的所有細節;系統架構師將通過本書領悟構建安全企業級應用的要義;其他領域的安全工作者也能通過本書一窺加密與解密技術的精髓。

作者簡介:

梁棟,資深Java開發者,有豐富的Spring、Hibernate、iBatis等Java技術的使用和開發經驗,擅長Java企業級應用開發;安全技術專家,對Java加密與解密技術有系統深入的研究,實踐經驗亦非常豐富。他還是一位出色的項目經理,是V8Booker(手機電子書)項目的核心開發團隊人員之一,負責核心模塊的開發;同時他還在V8NetBank(網銀系統)項目中擔任項目經理,負責系統的架構和核心模塊的開發。

閱讀全文

與java加密與解密的藝術2相關的資料

熱點內容
調研編譯寫信息 瀏覽:857
python馮諾依曼 瀏覽:415
同時安裝多個app有什麼影響 瀏覽:251
奧術殺戮命令宏 瀏覽:181
用sdes加密明文字母e 瀏覽:358
單片機原理及應用試題 瀏覽:423
易語言開啟指定文件夾 瀏覽:38
馬思純參加密室大逃脫 瀏覽:319
文件夾冬季澆築溫度 瀏覽:710
京東有返點的aPp叫什麼 瀏覽:601
如何查看u點家庭伺服器是幾兆 瀏覽:262
python應用介面怎麼接 瀏覽:67
腐蝕怎麼進不去伺服器啊 瀏覽:359
linuxcpiogz 瀏覽:630
安卓中的布局是什麼文件 瀏覽:397
dex反編譯部分代碼無法查看 瀏覽:463
linuxandroid編譯 瀏覽:603
程序員電視劇20集 瀏覽:910
怎麼擴建文件夾 瀏覽:160
波普諾社會學pdf 瀏覽:98