java数据安全(一)
在java开发中,常常需要考虑数据安全问题,然不仅仅需要考虑数据存储的安全,还需要考虑数据的传输安全。自从有了数据安全问题后,密码学也就出来了。了解数据安全,首先需要了解密码学
1.什么是密码学
密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。
2.密码学中常用的概念
明文:指待加密信息。明文可以是2进制数据,文本文件,图片文件等。
密文:指经过加密后的明文。密文可以使2进制数据,文本文件,图片文件等。
发送者:发送消息的人。
接收者:接收消息的人。
加密:明文转换为密文的过程。
加密算法:将明文变化为密文的转换算法。
加密密匙:通过加密算法进行加密操作作用的密匙。
解密:将密文转换为明文的过程。
解密算法:将密文转换为明文的转换算法。
解密密匙:通过解密算法进行解密操作用的密匙。
密码分析:截取密文者试图通过分析截获的密文从而推断出原密文或密匙的过程。
密码分析者:等同于密码破译者,指从事密码分析的人。
被动攻击:指对一个保密系统采取截获密文并对其进行分析和攻击。这种攻击对密文没有破坏作用。
主动攻击:指攻击者非法入侵密码系统,采用伪造,修改,删除等手段向系统注入假消息进行欺骗。这种攻击对密文具有破坏作用。
密码体制:由明文空间、密文空间、密匙空间、加密算法和解密算法五部分构成。
密码协议:有时候也称为安全协议,是指以密码学为基础的消息交换的通信协议,其目的是在网络环境中提供各种安全服务。
密码系统:用于加密与解密的系统,通常包含软、硬件的系统。
柯克霍夫原则:数据的安全基于密匙而不是算法的保密。
3.密码学的分类
1.按时间划分,可分为古典密码与现代密码,古典密码为以字符为基本单元进行加密
2.按保密内容划分,可分为受限制算法与基于密匙算法
3.按密码体制划分,可分为对称密码体制、非对称密码体制
4.按明文处理方法划分,可分为分组密码与流密码
4.保密通信模型
密码学并不是孤立存在,废话,呵呵。它需要一个环境,就是保密通信模型。密码学的目的在于确保信息的保密传送。
保密通信模型:

对称密码体制模型:

从中可以看出加密与解密的密匙是一模一样的,也就是对称密码体制加解密算法密匙是一样的。
非对称密码体制:

与对称密码体制比较就是加解密算法与密匙均不同。
java数据安全(一)的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- java高并发下的数据安全
高并发下的数据安全 我们知道在多线程写入同一个文件的时候,会存现“线程安全”的问题(多个线程同时运行同一段代码,如果每次运行结果和单线程运行的结果是一样的,结果和预期相同,就是线程安全的).如果是My ...
- JAVA card 应用开发(六) 个人化数据的线路安全和数据安全
卡片个人化数据的线路安全和数据安全 说明:下面理论,基于GP2.2规范. 一.线路安全 1. 概念:线路安全.就是对于数据不保密.但要保证数据的完整性和防止被篡改. 2. 方法:在原有的数据基础上.加 ...
- Java企业实训 - 01 - Java前奏
前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...
- 看我是如何处理自定义线程模型---java
看过我之前文章的园友可能知道我是做游戏开发,我的很多思路和出发点是按照游戏思路来处理的,所以和web的话可能会有冲突,不相符合. 来说说为啥我要自定义线程模型呢? 按照我做的mmorpg或者mmoar ...
- Java事务处理
Java事务处理总结 一.什么是Java事务 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(co ...
- Java 抽象类与接口
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是 Java 语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予 Java 强大的面向对象的能力.他们两者之间对 ...
- Java 基础高级2 网络编程
1.协议的概念:通信双方事先约定好的通信规则 2七层网络通信协议:应用成,表示层,会话层,传输层,网络层,数据链路层 3.TCP/IP协议:点对点通信,三层握手,安全有保证 4.UDP协议;广播协议, ...
- 转:大神提出来的java服务器方面面试问题(当作自己的学习目标平时得多注意)
因为一些个人原因,陆陆续续参加了一些校招补招.社招的笔试和面试(BAT),也包括一些国外公司(Spotify, Google, Ericsson),最后有幸被网易收入麾下,拿到了S.下面罗列一些我复习 ...
随机推荐
- C primer plus 读书笔记第十四章
这一章主要介绍C语言的结构和其他数据形式,是学习算法和数据结构的重点. 1.示例代码 /*book.c -- 仅包含一本书的图书目录*/ #include <stdio.h> #defin ...
- 《Android开发艺术探索》读书笔记 (7) 第7章 Android动画深入分析
本节和<Android群英传>中的第七章Android动画机制与使用技巧有关系,建议先阅读该章的总结 第7章 Android动画深入分析 7.1 View动画 (1)android动画分为 ...
- codevs 4909 寂寞的堆(写的好丑0.0)
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #defin ...
- jQuery的live()方法对hover事件的处理示例
hover([over,]out) 一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法 当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数. 当鼠标移出这个元素时,会触发指定的第二个 ...
- hibernate_validator_05
校验约束 一,认识Validator---Validation中最主要的接口 1.怎么获取一个Validator--Validation.buildDefaultValidatorFactory() ...
- 【windows开发实现记事本程序——界面篇】
前言 从毕业开始学习windows UI编程,工作中总是和一些API打交道,但是从没有做过一个完整的界面程序.因此打算自己利用空余时间做一个小的项目来总结自己所学的东西.在网上看到许多人建议自己动手写 ...
- uvalive 5760 Alice and Bob (组合游戏,dp)
题目链接: http://vjudge.net/problem/viewProblem.action?id=25636 对于>1的堆,必然会被其中一人全部合并. 然后就是二维dp,dp[非1堆的 ...
- QQ情侣头像~
- 136 Single Number(找唯一数Medium)
题目意思:一个int数组,有一个数只出现一次,其他数均出现两次,找到这个唯一数 知识普及:~:非运算,单目运算符1为0,0为1; &:与运算,都为1则为1,否则为0 |:或运算,全为0则为 ...
- System.InvalidOperationException: 无法加载协定为“ServiceReference1.XXXXXXXXXXXXXXXX”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。
<system.serviceModel> <bindings> <basicHttpBinding> <binding name="testWeb ...