作品简介

现在,Java开发可谓如日中天,并且Java安全开发是Java开发领域中的一个重要内容,每个Java开发人员都必须掌握。市面中的绝大多数密码学书籍都是针对C或C++的,本书重点介绍Java自带加解密函数的相关技术,以及密码学领域重要的开源库OpenSSL在Java开发中的应用。

本书共8章,主要内容包括密码学和Java概述、搭建Java密码开发环境、对称密码算法原理、利用JCAJCE对称加解密、杂凑函数和HMAC、密码学中常见的编码格式、非对称算法RSA的加解密、数字签名技术等。本书内容非常详细,学习坡度非常平滑,循序渐进,就算没有密码学基础,也能从零开始到全面掌握。

本书面向的读者是Java开发人员、企业内转行计算机信息安全的工作人员、已有信息安全基础并想了解Java加解密新特性的人员。本书也可作为高等院校和培训机构计算机及相关专业师生的教学参考书。

朱文伟,名校计算机专业统招硕士,20年CC++、Java开发经验。主导开发过密码、图形、人工智能等产品。精通Linux、Windows系统开发及数据库开发技术。著有图书《Windows C/C++加密解密实战》《密码学原理与Java实现》《Linux C与C++一线开发实践》《Visual C++2017从入门到精通》。

作品目录

  • 内容简介
  • 前 言
  • 第1章 加解密和Java概述
  • 1.1 密码学基础知识
  • 1.2 身份认证基础知识
  • 1.3 Java语言概述
  • 第2章 搭建Java密码开发环境
  • 2.1 搭建Java开发环境
  • 2.2 搭建Java Web开发环境
  • 2.3 使用JNI
  • 2.4 Java密码开发的两个主流国际库
  • 2.5 准备密码库OpenSSL
  • 2.6 在Java下使用OpenSSL
  • 2.7 纯Java密码开发库
  • 第3章 对称密码算法原理
  • 3.1 基本概念
  • 3.2 对称加解密算法的分类
  • 3.3 流加密算法
  • 3.4 分组加密算法
  • 第4章 利用JCA/JCE对称加解密
  • 4.1 包java.security
  • 4.2 包javax.crypto
  • 第5章 杂凑函数和HMAC
  • 5.1 杂凑函数概述
  • 5.2 SM3杂凑算法
  • 5.3 MD5消息摘要算法
  • 5.4 HMAC
  • 5.5 更通用的基于OpensSSL的哈希运算
  • 5.6 SHA系列杂凑算法
  • 第6章 密码学中常见的编码格式
  • 6.1 Base64编码
  • 6.2 PEM文件
  • 6.3 ASN.1及其编解码
  • 第7章 非对称算法RSA的加解密
  • 7.1 非对称密码体制概述
  • 7.2 RSA概述
  • 7.3 RSA的数学基础
  • 7.4 RSA算法描述
  • 7.5 RSA算法实例
  • 7.6 RSA加密长度限制问题
  • 7.7 熟悉PKCS#1
  • 7.8 在OpenSSL命令中使用RSA
  • 7.9 基于OpenSSL库的Java RSA实现
  • 7.10 随机大素数的生成
  • 7.11 Java中的大数表示
  • 7.12 基于大素数的RSA算法Java实现
  • 7.13 基于JCA的RSA算法实现
  • 7.14 RSA算法的攻击及分析
  • 第8章 数字签名技术
  • 8.1 概述
  • 8.2 什么是数字签名技术
  • 8.3 RSA公钥算法在数字签名中的应用
  • 8.4 利用OpenSSL命令进行签名验签
展开全部