美文网首页
安全编程基础

安全编程基础

作者: 浅浅的i | 来源:发表于2018-03-07 13:35 被阅读0次

安全编程基础


目录

  1. 数据加密
  2. 数字签名
  3. 哈希算法
  4. 数字签名
  5. PKI体系
  6. 加密通信

一.数据加密

分类
对称加密,非对称加密
对称加密
构成:明文,算法,密钥

知识点:

  • 算法有 DES,AES
  • 密钥只有一个
  • 私钥不能暴露

非对称加密
构成:明文,算法,私钥,公钥

知识点

  • 私钥和公钥都可以被用作加密或者解密
  • 私钥加密的明文必须用对应的公钥解密
  • 公钥加密的明文必须用对于的私钥解密
  • 双密钥加密算法有RSA等
  • 公钥是公开的,私钥是保密的
  • 任何人可以把自己的信息通过公钥和算法加密,只有公钥方才能解开密文
二.数字签名

概念:
用于标记数字文件拥有者,创造者,分发者身份的字符串。

内容:
验证方提供的公钥

三.PKI

概念
PKI全称公钥基础设施。是使用非对称加密理论,提供数字签名,加密,数字证书等服务的体系,一般包括权威认证机构(CA),数字证书库,密钥备份及恢复系统,证书作废系统,应用接口(API)等

四.哈希算法

概念:
哈希算法是一种从任意数据中创建固定长度摘要信息的办法,对于不同的数据,产生的信息是唯一的。常见的哈希算法包括MD5,SHA-1等

五.加密通信

1.SSL协议
概念
SSL是网景公司开发的位于TCP与HTTP之间的透明安全协议,可以把HTTP包数据以非对称加密的形式往返于与浏览器和站点之间,从而避免被第三方非法获取。

组成
上层协议包括SSL握手协议,更改密码规格协议,警报协议
下次协议包括SSL记录协议

2.TLS协议
建立于SSL v3.0之上的兼容协议,它们的主要区别在于加密算法上
3.加密通信的流程

  1. 输入HTTPS协议的网址
  2. 服务器向浏览器返回证书
  3. 验证证书的合法性
  4. 浏览器使用证书中的公钥加密一个随机对称密钥,并将加密后的没有和使用没有加密后的请求URL发送给服务器
  5. 服务器用私钥解密随机对称密钥,并用获取的密钥解密加密的请求URL
  6. 服务器把用户请求的网页用密钥加密,并返回给用户
  7. 用户用密钥解密服务器发来的网页数据,并将其显示出来

相关文章

  • 安全编程基础

    安全编程基础 目录 数据加密 数字签名 哈希算法 数字签名 PKI体系 加密通信 一.数据加密 分类:对称加密,非...

  • 2018-09-06

    做安全编程真的是基础啊...看半天代码没看出问题,头痛。

  • 面向对象的三大特征

    一、有良好的Java面向对象思想,扎实的编程基础和编程规范。 1、封装 核心思想就是“隐藏细节”、“数据安全”:将...

  • IOS编程知识点记录

    这篇只是用于记忆知识点 interface 接口 编程 基础知识类 在编程语言中,灵活与安全的问题总是冲突.过度的...

  • 编程基础知识考题

    范围包括: 1.语言基础 2.编程规范 3.安全编码 4.进阶 编程语言可以用c,python,java, 一.算...

  • 并发编程中三个基础概念(原子性,可见性,有序性)的理解与实践

    并行编程中三个基础概念(原子性,可见性,有序性)的理解与实践 在分析线程安全问题时,需要理解在并行编程中的三个基础...

  • The Libra Blockchain-开发者文档-(五)了解

    Move是一种新的编程语言,在为Libra 区块链提供安全、可编程的基础。 Libra区块链中的帐户作为容器,包含...

  • Libra教程之:来了,你最爱的Move语言

    Move语言 Move是一种新的编程语言,旨在为Libra区块链提供安全且可编程的基础。 Libra区块链中的帐户...

  • 网络安全编程基础 之 网络编程

    套接字编程 套接字(Socket)是用来实现主机和主机之间通信的一个接口。通过它可以完成主机间的通信操作,它屏蔽了...

  • Libra - Move语言概述

    Move是一种新的编程语言,旨在为 Libra 区块链提供安全可编程的基础。 Libra区块链中的帐户是一个容器,...

网友评论

      本文标题:安全编程基础

      本文链接:https://www.haomeiwen.com/subject/kqejfftx.html