加密算法

1.非对称加密(公开密钥加密)       公开密钥加密,是加密和解密使用不同密钥的算法,广泛用于信息传输中。

常见的算法有:RSA、ElGamal、Rabin。

2.对称加密                             将信息使用一个密钥进行加密,解密时使用同样的密钥,同样的算法进行解密。

常见的算法有:DES、3DES、AES。

数字证书

数字证书是由证书颁发机构(CA)来验证证书持有人的身份受信任的第三方颁发的证书。

数字签名

数字签名是可用于验证数字文档的真实性的方法。

区别:

数字证书与数字证书都是非对称加密的应用。

数字签名是用于检验一个特定的数字文档或消息是可信的。(即它被用来验证该信息没有被修改)

数字证书是一种机制通常用在网站上增加其可信度它的用户。(即它被用来验证该网站是否是受信用的网站)

摘要算法(散列算法)

1.md系列            常见的算法有MD5、MD4、MD3、MD2。

2.sha系列            常见的算法有SHA-1、SHA-224、SHA-256、SHA-384、SHA-512。

PS:md5算法原理

对输入的数据进行补位,使得如果数据位长度LEN对512求余的结果是448。即数据扩展至K*512+448位。即K*64+56个字节,K为整数。具体补位操作:补一个1,然后补0至满足上述要求。

区别:

加密算法是可逆。加密算法作用是提高信息的保密性。

例子:服务器对数据进行加密,发送它一个安全的SSL连接到浏览器,浏览器解密,就可以看到解密的内容。

散列算法不可逆。散列算法作用是验证信息的完整性。对一段Message(字节串)产生fingerprint(指纹),可以防止被“篡改”。

例子:某软件网站提供下载的MD5校验值软件xxx.exe,其MD5值是1e07ab3591d25583eff5129293dc98d2,但你下载该软件后计算MD5发现其值却是81395f50b94bb4891a4ce4ffb6ccf64b,那说明该程序已经被他人修改过,那还用

不用该软件那你可自己琢磨着看啦。

散列算法常常也用于加密,还有一些其他的加密手段,如:base64加密。利用编码加密方式)

例子:网站用户登陆的密码,登陆输入的密码与注册的密码的生成的摘要算法值(如:md5)进行匹配,匹配成功就登入成功。

PS:base64加密不安全,容易破解。

PS:2005年,中国密码学家王小云教授领导的小组利用杂凑函数碰撞成功破解MD5密码算法,SHA-1密码算法。(只是缩短了一些破译的时间与步骤)

      只要的网站安全要求不是很高的话,散列算法一般还是可以继续使用的,还是安全的。

      网上所谓MD5解密也不是很靠谱。

软件工程师应该关注的web加密手段的更多相关文章

  1. 软件工程师应该关注的web攻击手段

    1.SQL注入------常见的安全性问题. 解决方案:前端页面需要校验用户的输入数据(限制用户输入的类型.范围.格式.长度),不能只靠后端去校验用户数据.一来可以提高后端处理的效率,二来可以提高后端 ...

  2. 关于Java 软件工程师应该知道或掌握的技术栈

    鄙人星云,今天突然想写这么一篇需要持续更新的文章,主要目的用于总结当前最流行的技术和工具,方便自己也方便他人. 更新时间:2018-10-23 09:26:19 码农职业路径图 码农入门职业路径图 J ...

  3. 几种常见web攻击手段及其防御方式

    XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 XSS 概念 全称是跨站脚本攻击(Cross ...

  4. 总结几种常见web攻击手段及其防御方式

    本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 ...

  5. Android 工程师如何快速学会web前段

    Android 工程师如何快速学会web前段 今天主要聊一下本人最近在学习web前段的感受,最近html5是越来越火了,前段时间公司做了一个项目然后让我们“android”的程序猿过去帮忙把客户 端框 ...

  6. net软件工程师求职简历

    Net软件工程师求职简历 姓    名: 王静静 性    别: 女 出生日期: 1991-12 籍    贯: 河北 居住地: 北京 学    历: 专科 E-mail: 335659753@qq. ...

  7. 简单总结几种常见web攻击手段及其防御方式

    web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...

  8. 简单地总结几种常见web攻击手段及其防御方式

    web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...

  9. JavaSE 软件工程师 认证考试试卷3

    JavaSE 软件工程师 认证考试试卷   笔试   考试时间150分钟 总分 100分   姓    名_______________________ 身份证号___________________ ...

随机推荐

  1. feign容断忽略某些异常

    @HystrixCommand(ignoreExceptions={ BusinessException.class, IllegalArgumentException.class, BadCrede ...

  2. Hbase region查找过程

    HBase的table是该region切分的,client操作一个row的时候,如何知道这个row对应的region是在哪台Region server上呢?这里有个region location过程. ...

  3. 环境变量—《linux命令行与shell脚本编程大全》

    环境变量部分: 1.查看全局变量:printenv/env 2.显示单个环境变量的值:echo 如echo $HOME 3.显示为某个特定进程设置的所有环境变量:set 4.设置全局变量:创建局部环境 ...

  4. Gradle项目构建(1)——Gradle的由来

    一.项目自动构建介绍 作为Java的开发者对eclipse都非常熟悉,其实eclipse就是居于ant来构建项目的,我们先来看看为什么需要自动化构建项目. 1.为什么我们要自动化构建项目 可以假设我们 ...

  5. Flash图表控件FusionCharts如何高亮显示数据

    使用Flash图表控件FusionCharts时,通过改变alpha值是高亮显示数据的最简单方式. XML代码如下: <chart> <set label='John' value= ...

  6. Python3+Selenium3+webdriver学习笔记13(js操作应用:弹出框无效如何处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记13(js操作应用:弹出框无效如何处理)'''from sel ...

  7. python+selenium之验证码的处理

    对于web应用来说,大部分的系统在用户登录时都要求用户输入验证码.验证码的类型很多,有字母数字的,有汉字的.甚至还有需要用户输入一道算术题的答案的.对于系统来说,使用验证码可以有效地防止采用机器猜测方 ...

  8. oracle 11g r2安装

    安装环境:windows 7 安装版本:Oracle_win32_11gR2 目的:用于模拟服务器环境,学习Oracle操作 1. 下载oracle 11g r2,下载地址:www.oracle.co ...

  9. 【UML】协作图Collaboration diagram(交互图)(转)

    http://blog.csdn.net/sds15732622190/article/details/49402269 前言         学完UML时序图,就要看一下UML协作图,因为两张图是相 ...

  10. mtDNA|ctDNA|cpDNA|

    5.9细胞器基因组是编码细胞器蛋白质的环状DNA分子 细胞器中除真核细胞线粒体DNA(mtDNA)是线性的外,都是环状分子,比如叶绿体DNA(ctDNA,cpDNA).因为单个细胞器有几套不同拷贝的细 ...