10 Java安全应用电子课件 Java程序设计案例教程.pptx
《10 Java安全应用电子课件 Java程序设计案例教程.pptx》由会员分享,可在线阅读,更多相关《10 Java安全应用电子课件 Java程序设计案例教程.pptx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、模块10 Java安全应用学习目标01了解Java安全领域和安全特性。02掌握使用Commons Codec加密组件包对数据进行消息摘要处理。03掌握使用摘要处理和加盐处理验证数据的完整性。04了解Java反编译的过程及反编译工具的使用。技能目标1.能够在MyEclipse IDE中为Java项目添加Commons Codec加密组件包。2.能够在MyEclipse IDE中使用MD5算法对用户信息进行摘要处理。3.能够在MyEclipse IDE中使用SHA算法对用户信息进行加盐处理。10.1 回顾与思考当计算机和各种移动设备参与到人类的日常生活中,当网络无处不在时,数据安全成为一个日趋重要
2、的问题。编写安全的代码比编写优雅的代码更为重要,因为安全是一切应用的基石。当今世界高度依赖网络,同时又受制于网络,而网络的开放性则为其带来了许多不安全的因素。各类企业应用架设在不同层级的网络平台上,在为用户提供快捷和便利服务支持的同时,也产生了信息安全方面的隐患。为了满足用户日益增长的信息服务需求,除了不断增扩企业应用的功能和提高传输效率以外,还需要创建高品质的信息安全服务环境,确保数据信息交流的安全性。10.2 Java安全性技术10.2.1 Java安全领域Java安全领域分4个部分:JCA(Java cryptography architecture,Java加密体系结构)JCE(Jav
3、a cryptography extension,Java加密扩展)JSSE(Java secure sockets extension,Java安全套接字扩展)JAAS(Java authentication and authentication service,Java身份验证和身份验证服务)10.2 Java安全性技术10.2.1 Java安全领域JCA提供了基本的加密框架,如证书、数字签名、消息摘要和密钥对产生器。JCE在JCA的基础上进行了扩展,提供了各种加密算法和密钥管理等功能。在网络传输过程中,数据经过多个主机传送给接收者,存在某台主机被窃听的安全问题。JSSE能提供确保网络通信
4、安全的服务。JAAS则提供了在Java平台上进行用户身份鉴别的功能。Java安全领域离不开密码学的支持。10.2 Java安全性技术10.2.2 Java安全特性Java SE平台基于一个动态、可扩展、基于标准、可互操作的安全架构提供服务。其中内置了加密、身份验证和授权、公共密钥基础架构等安全特性。Java安全模型基于一个可定制的“沙盒”,Java软件程序可在其中安全运行,对系统或用户无潜在风险。表10-1详细介绍了Java的各个安全特性,并给出了包含更多信息的资源链接。10.2 Java安全性技术10.2.2 Java安全特性表10-1 Java安全特性10.2 Java安全性技术10.2.
5、3 辅助工具Commons CodecCommons Codec是Apache旗下的一款开源软件,主要用于编码格式的转换,如Base64、二进制、十六进制、字符集和URL编码的转换。Commons Codec还对Java原生的消息摘要算法进行了封装,提高了方法的易用性。Commons Codec最新版本的加密组件包可到Commons Codec官方网站http:/commons.apache.org/proper/commons-codec/download_codec.cgi下载,如图10-1所示。图10-1 Commons Codec官方网站10.2 Java安全性技术10.2.3 辅助工
6、具加密组件包分tar.gz和zip两种压缩格式,并以二进制文件和源文件两种方式提供下载。以zip格式的commons-codec-1.11-bin为例,其包含了二进制可执行文件、源文件、文档文件和对应的测试文件,如图10-2所示。将压缩文件解压至指定目录位置以备用。图10-2 commons-codec-1.11-bin.zip中包含的文件10.3 数据完整性消息摘要算法也可称为单向加密算法。消息摘要算法的主要特征是加密过程不需要密钥(在明文转换为密文或密文转换为明文的算法中所输入的参数),并且经过加密的数据无法被解密,即单向加密,只有输入相同的明文数据再经过相同的消息摘要算法处理才能得到相同
7、的密文。10.3 数据完整性10.3.1 准备工作在myDatabase数据库中新建一个表,并命名为account,SQL命令如下。1.创建数据库向account表中插入两条数据记录。插入记录的SQL命令如下。10.3 数据完整性10.3.1 准备工作对account表的数据记录进行检索的结果如图10-3所示。1.创建数据库图10-3 account表的记录10.3 数据完整性10.3.1 准备工作【例10-1】编写一个用户登录应用程序模块,提供用户名和密码登录服务。文件名为Example10_1.java,其代码如下。2.创建应用程序其代码见P209-210。因为拥有数据库访问权限的人员或系
8、统开发人员都可以轻易获得数据库用户信息的访问权限,所以这种应用系统很不安全,必须对用户信息中的敏感数据加以隐藏。可使用消息摘要算法隐藏用户密码。10.3 数据完整性10.3.2 摘要处理1.修改用户数据MySQL提供了MD5和SHA1两种消息摘要算法函数:md5()和sha()。使用MD5算法隐藏用户密码,更新用户密码的SQL命令如下。update account set password=md5(password);再次对account表的数据记录进行检索,可以发现用户密码已被加密,结果如图10-4所示。图10-4 用md5()处理后的account表的记录10.3 数据完整性10.3.2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 Java安全应用电子课件 Java程序设计案例教程 Java 安全 应用 电子 课件 程序设计 案例 教程
限制150内