-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
密碼學原理與Java實現 版權信息
- ISBN:9787302580270
- 條形碼:9787302580270 ; 978-7-302-58027-0
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
密碼學原理與Java實現 本書特色
本書重點介紹Java自帶的加解密函數,以及OpenSSL在Java開發中的應用,內容包括密碼學和Java概述、搭建Java密碼開發環境、對稱密碼算法原理、利用JCA/JCE對稱加解密、雜湊函數和HMAC、密碼學中常見的編碼格式、非對稱算法RSA的加解密、數字簽名技術等,適合Java開發人員了解加解密技術。
密碼學原理與Java實現 內容簡介
現在,Java開發可謂如日中天,并且Java安全開發是Java開發領域中的一個重要內容,每個Java開發人員都必須掌握。市面中的絕大多數密碼學書籍都是針對C或C++的,本書重點介紹Java自帶加解密函數的相關技術,以及密碼學領域重要的開源庫OpenSSL在Java開發中的應用。 本書共8章,主要內容包括密碼學和Java概述、搭建Java密碼開發環境、對稱密碼算法原理、利用JCA\JCE對稱加解密、雜湊函數和HMAC、密碼學中常見的編碼格式、非對稱算法RSA的加解密、數字簽名技術等。本書內容很好詳細,學習坡度很好平滑,循序漸進,就算沒有密碼學基礎,也能從零開始到全面掌握。 本書面向的讀者是Java開發人員、企業內轉行計算機信息安全的工作人員、已有信息安全基礎并想了解Java加解密新特性的人員。本書也可作為高等院校和培訓機構計算機及相關專業師生的教學參考書。
密碼學原理與Java實現 目錄
第1章 加解密和Java概述 1
1.1 密碼學基礎知識 1
1.1.1 密碼學概述 1
1.1.2 對稱密鑰加密技術 2
1.1.3 公開密鑰加密技術 2
1.1.4 單向散列函數算法 3
1.1.5 數字簽名基礎知識 3
1.2 身份認證基礎知識 5
1.2.1 身份認證概述 5
1.2.2 身份認證的方式 5
1.3 Java語言概述 6
1.3.1 Java簡介 6
1.3.2 Java主要特性 7
1.3.3 Java的發展史 8
第2章 搭建Java密碼開發環境 10
2.1 搭建Java開發環境 10
2.1.1 下載JDK 10
2.1.2 安裝JDK 11
2.1.3 配置JDK環境變量 12
2.1.4 在命令行下編譯Java程序 13
2.1.5 在Eclipse中開發Java程序 14
2.1.6 下載Eclipse 14
2.1.7 啟動Eclipse 14
2.1.8 **個Eclipse下的Java工程 15
2.1.9 在工作區中打開工程 18
2.2 搭建Java Web開發環境 18
2.2.1 下載Tomcat 18
2.2.2 安裝Tomcat 19
2.2.3 在Eclipse中配置Tomcat 20
2.2.4 **個Eclipse下的JSP工程 21
2.2.5 **個JavaBean工程 25
2.3 使用JNI 30
2.4 Java密碼開發的兩個主流國際庫 35
2.5 準備密碼庫OpenSSL 36
2.5.1 OpenSSL源代碼模塊結構 36
2.5.2 OpenSSL加密庫調用方式 37
2.5.3 OpenSSL支持的對稱加密算法 38
2.5.4 OpenSSL支持的非對稱加密算法 38
2.5.5 OpenSSL支持的信息摘要算法 38
2.5.6 OpenSSL密鑰和證書管理 38
2.5.7 面向對象與OpenSSL 39
2.5.8 BIO接口 40
2.5.9 EVP接口 41
2.5.10 關于版本和操作系統 42
2.5.11 在Windows下編譯OpenSSL1.1.1 42
2.5.12 在Windows下編譯OpenSSL1.0.2m 54
2.5.13 測試使用OpenSSL命令 62
2.6 在Java下使用OpenSSL 64
2.6.1 以命令方式使用OpenSSL 64
2.6.2 以函數庫方式調用OpenSSL 67
2.7 純Java密碼開發庫 72
2.7.1 JCA的基本概念 73
2.7.2 JCA的設計原則 74
2.7.3 JCA中的密碼服務提供者 74
2.7.4 JCA編程的兩大安全包 76
2.7.5 包java.security中的接口和類 77
2.7.6 包javax.crypto中的接口和類 83
2.7.7 **個JCA例子 84
第3章 對稱密碼算法原理 89
3.1 基本概念 89
3.2 對稱加解密算法的分類 90
3.3 流加密算法 90
3.3.1 基本概念 90
3.3.2 流密碼和分組密碼的比較 91
3.3.3 RC4算法 91
3.4 分組加密算法 95
3.4.1 工作模式 95
3.4.2 短塊加密 99
3.4.3 DES和3DES算法 100
3.4.4 SM4算法 118
第4章 利用JCA/JCE對稱加解密 139
4.1 包java.security 140
4.1.1 密鑰接口 140
4.1.2 安全隨機數 141
4.2 包javax.crypto 150
4.2.1 安全密鑰接口SecretKey 151
4.2.2 密鑰生成類KeyGenerator 151
4.2.3 密鑰規范類SecretKeySpec 155
4.2.4 初始向量類IvParameterSpec 156
4.2.5 加解密類Cipher 157
4.2.6 利用JCA實現DES加密 160
第5章 雜湊函數和HMAC 181
5.1 雜湊函數概述 181
5.1.1 什么是雜湊函數 181
5.1.2 密碼學和雜湊函數概述 182
5.1.3 雜湊函數的發展 182
5.1.4 雜湊函數的設計 183
5.1.5 雜湊函數的分類 183
5.1.6 雜湊函數的碰撞 183
5.2 SM3雜湊算法 184
5.2.1 SM3算法概述 184
5.2.2 SM3算法的特點 184
5.2.3 常量和函數 184
5.2.4 填充 185
5.2.5 迭代壓縮 185
5.2.6 雜湊值 186
5.2.7 一段式SM3算法的實現 187
5.2.8 三段式SM3雜湊的實現 194
5.2.9 Java和OpenSSL1.1.1b聯合實現SM3算法 198
5.3 MD5消息摘要算法 201
5.3.1 MD5算法概述 202
5.3.2 MD5算法的特點 202
5.3.3 MD5是否屬于加密算法 202
5.3.4 MD5用途 202
5.3.5 MD5算法原理 203
5.3.6 手工實現MD5算法 204
5.3.7 基于Java消息摘要類實現MD5算法 211
5.4 HMAC 213
5.4.1 什么是HMAC 213
5.4.2 HMAC產生的背景 214
5.4.3 HMAC在身份認證中的應用 214
5.4.4 設計目標 215
5.4.5 算法描述 215
5.4.6 手工實現HMAC-MD5 216
5.4.7 基于Java Mac類實現HMAC-MD5 219
5.4.8 實現HMAC-SM3 222
5.5 更通用的基于OpensSSL的哈希運算 226
5.6 SHA系列雜湊算法 232
5.6.1 SHA算法概述 232
5.6.2 SHA系列算法核心思想和特點 233
5.6.3 SHA256算法原理解析 233
5.6.4 SHA256算法核心思想 235
5.6.5 SHA256算法的實現 240
第6章 密碼學中常見的編碼格式 249
6.1 Base64編碼 249
6.1.1 概述 249
6.1.2 Base64編碼的由來 249
6.1.3 Base64的索引表 249
6.1.4 Base64的轉化原理 250
6.1.5 使用OpenSSL的base64命令 252
6.1.6 Java編程實現Base64編解碼 253
6.2 PEM文件 258
6.2.1 什么是PEM文件 258
6.2.2 生成一個PEM文件 260
6.3 ASN.1及其編解碼 261
6.3.1 ASN.1的基本概念 261
6.3.2 ASN.1的編碼格式 262
6.3.3 ASN的優點 262
6.3.4 基本語法規則 263
6.3.5 ASN.1數據類型 263
6.3.6 ASN.1實例 266
第7章 非對稱算法RSA的加解密 274
7.1 非對稱密碼體制概述 274
7.2 RSA概述 276
7.3 RSA的數學基礎 276
7.4 RSA算法描述 292
7.5 RSA算法實例 293
7.6 RSA加密長度限制問題 302
7.7 熟悉PKCS#1 303
7.8 在OpenSSL命令中使用RSA 309
7.9 基于OpenSSL庫的Java RSA實現 314
7.10 隨機大素數的生成 332
7.11 Java中的大數表示 333
7.12 基于大素數的RSA算法Java實現 334
7.13 基于JCA的RSA算法實現 339
7.14 RSA算法的攻擊及分析 348
第8章 數字簽名技術 350
8.1 概述 350
8.2 什么是數字簽名技術 351
8.3 RSA 公鑰算法在數字簽名中的應用 356
8.4 利用OpenSSL命令進行簽名驗簽 357
密碼學原理與Java實現 作者簡介
朱文偉,名校計算機專業統招碩士,20年C\C++、Java開發經驗。主導開發過密碼、圖形、人工智能等產品。精通Linux、Windows系統開發及數據庫開發技術。著有圖書《Windows C/C++加密解密實戰》《密碼學原理與Java實現》《Linux C與C++ 一線開發實踐》《Visual C++2017從入門到精通》。
- >
龍榆生:詞曲概論/大家小書
- >
莉莉和章魚
- >
伯納黛特,你要去哪(2021新版)
- >
煙與鏡
- >
推拿
- >
中國人在烏蘇里邊疆區:歷史與人類學概述
- >
名家帶你讀魯迅:朝花夕拾
- >
詩經-先民的歌唱