java数据安全(一)

在java开发中,常常需要考虑数据安全问题,然不仅仅需要考虑数据存储的安全,还需要考虑数据的传输安全。自从有了数据安全问题后,密码学也就出来了。了解数据安全,首先需要了解密码学

1.什么是密码学

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。

2.密码学中的基础常用概念

明文:指待加密信息。明文可以是2进制数据,文本文件,图片文件等。

密文:指经过加密后的明文。密文可以使2进制数据,文本文件,图片文件等。

发送者:发送消息的人。

接收者:接收消息的人。

加密:明文转换为密文的过程。

加密算法:将明文变化为密文的转换算法。

加密密匙:通过加密算法进行加密操作作用的密匙。

解密:将密文转换为明文的过程。

解密算法:将密文转换为明文的转换算法。

解密密匙:通过解密算法进行解密操作用的密匙。

密码分析:截取密文者试图通过分析截获的密文从而推断出原密文或密匙的过程。

时间: 2024-10-13 23:52:49

java数据安全(一)的相关文章

《开源框架那点事儿23》:Tiny模板语言(VelocityPlus)初步入门

2 Tiny模板语言概述 3 Tiny模板语言能为您做什么? 4 Tiny模板语言简介 5 Hello Tiny! 6 注释 7 引用(References) 7.1 变量(variables) 7.2 属性(properties) 7.3 方法(methods) 8 表达式(Expression) 8.1 取值表达式 8.2 Map常量 8.3 数组常量 8.4 其他表达式 9 索引表示法 10 渲染 11 与Java无缝对接 12 模板布局 13 指令集 13.1 #set指令 13.2 条

Tiny模板语言(VelocityPlus)初步入门

1 关于用户手册 本文主要介绍如何在模板中使用Tiny模板语言,通过查阅本手册,可以对Tiny模板语言 TTL(Tiny Template Language)的用法有一个较全面的认识,并学会如何有效地使用Tiny模板语言.同时,本文提供了较多的例子帮您来学习并掌握它. 2 Tiny模板语言概述 Tiny 模板语言是一个参考Velocity语法的模板语言,它对Velocity模板语言中一些功能不太完全及使用过程中比较不方便的地方进行全面的扩展和升级,同时为了更好的适应Web界面层的开发,还提供了强

JAVA card 应用开发(六) 个人化数据的线路安全和数据安全

卡片个人化数据的线路安全和数据安全 说明:以下理论,基于GP2.2规范. 一.线路安全 1. 概念:线路安全,就是对于数据不保密,但要保证数据的完整性和防止被篡改. 2. 方法:在原有的数据基础上,加上8个字节的MAC. 3. 过程: a.在外部认证指令中,设定安全级别.如图1. 图1 b.计算8个字节的MAC附加在后面即可.计算MAC需要注意:完成了外部认证后,除了选择应用的指令以外,都需要加入MAC,否则安全条件不满足.计算MAC以8个字节的0X00为计算的初始向量,输入数据为8个历史字节(

Java提高篇——Java实现多重继承

阅读目录 一. 接口二.内部类 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承.有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要思考的不是怎么使用多重继承,而是您的设计是否存在问题.但有时候我们确实是需要实现多重继承,而且现实生活中也真正地存在这样的情况,比如遗传:我们即继承了父亲的行为和特征也继承了母亲的行为和特征.可幸的是Java是非常和善和理解我们的,它提供了两种方式让我们曲折来实现多

Java企业架构--大兴互联网企业分布式平台

声明:该框架面向企业,是大型互联网分布式企业架构,后期会介绍linux上部署高可用集群项目.      平台简介 Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成Dubbo服务管控.Zookeeper注册中心.Redis分布式缓存技术.FastDFS分布式文件系统.ActiveMQ异步消息中间件.Nginx负载均衡等分布式技术 使用Maven做项目管理,项目模块化,提高项目的易开发性.扩展性 以Spring Fr

rsa互通密钥对生成及互通加解密(c#,java,php)

摘要 在数据安全上rsa起着非常大的作用,特别是数据网络通讯的安全上.当异构系统在数据网络通讯上对安全性有所要求时,rsa将作为其中的一种选择,此时rsa的互通性就显得尤为重要了. 本文参考网络资料,提供了rsa互通性的一种可行的解决方案(c#,java,php),而这种互通性是在一定的局限性上达成的,比如密钥是1024位的(更高位没试过,应该也可行),基于PKCS1填充方式. 所编写的代码有一部分使用了硬编码,同时注重了功能的实现,在类结构设计上关注不多,有需要的可自行修改重构. 相关的程序集

Java API ——StringBuffer类

1.StringBuffer类概述, 1)我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间.而StringBuffer就可以解决这个问题 2)线程安全的可变字符序列 3)StringBuffer和String的区别 · 前者长度和内容可变,后者不可变.  · 如果使用前者做字符串的拼接,不会浪费太多的资源. 2.构造方法 · public StringBuffer() :无参构造方法 · public StringBuffer(int capacity

黑马程序员--Java基础--网络通信

--Java培训.Android培训.iOS培训..Net培训 期待与您共同交流!-- 文章大纲: 1.网络基础 2.TCP通信 3.UDP通信 1. 网络基础 1.1. 网络协议 1.1.1. 网络协议分层 OSI(开放系统互联(Open System Interconnection))模型是国际标准化组织ISO创立的.这是一个理论模型,并无实际产品完全符合OSI模型.制订OSI模型只是为了分析网络通讯方便而引进的一套理论.也为以后制订实用协议或产品打下基础. OSI模型共分七层:从上至下依次

java 的序列化和反序列化的问题

引言 将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写.然而在有些情况下,光知道这些还远远不够,文章列举了笔者遇到的一些真实情境,它们与 Java 序列化相关,通过分析情境出现的原因,使读者轻松牢记 Java 序列化中的一些高级认识. 回页首 文章结构 本