随着互联网的快速发展,它已经成为了我们生活中不可或缺的一部分。与此同时,拥有一个安全的互联网环境成为了我们每个人心声。目前在公司里边所做的事情,也涉及到了加密解密这一块的东西,之前没有怎么接触过,所以这一次系统地过一下常见的加密解密都有哪些,不求深入,只求有一个大致的了解。

  1. 对称/非对称 加密
  1. 哈希加密及其破解方法

1. 对称/非对称 加密

对称密钥加密(英语:Symmetric-key algorithm)又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。实务上,这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通讯联系。与公开密钥加密相比,要求双方取得相同的密钥是对称密钥加密的主要缺点之一。

信息转换过程可以描述为:

明文 <-> 密钥 <-> 密文

常见的对称加密算法有:

DES3DESAESBlowfishIDEARC5RC6

特点:加密解密效率高速度快,适合进行大数据量的加解密。

公开密钥加密(英语:public-key cryptography,又译为公开密钥加密),也称为非对称加密(asymmetric cryptography),一种密码学算法类型,在这种密码学方法中,需要一对密钥(其实这里密钥说法不好,就是“钥”),一个是私人密钥,另一个则是公开密钥。这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。

常见的非对称加密算法有:

RSADSAECC

点击查看阮一峰对RSA算法的介绍

特点:算法复杂,加解密速度慢,但安全性高,一般与对称加密结合使用(对称加密对内容加密,非对称对对称所使用的密钥加密)

点击查看:对称和非对称结合使用的应用场景

2. 哈希加密及其破解方法

哈希算法的特性:

  • 哈希(Hash)算法是一种单向密码体制,即只有加密过程,没有解密过程。

  • 相同输入经过同一哈希函数得到相同散列值,但并非散列值相同则输入结果相同。

哈希加密算法:

哈希算法应用于加密学,将加密学领域的哈希算法称为哈希加密算法,常见的如上面提到的MD5,SHA-系列算法,每种哈希加密算法,均通过某种哈希函数进行迭代,将任意长度的消息输入,经过压缩生成“消息摘要”( MessageDigest)。

哈希加密算法的过程:

  1. 预处理(Preprocessing):消息填充、将消息分割成m个处理块、为哈希设置初始化值

  2. 哈希计算(HashComputation):将预处理完成的数据生成消息摘要,利用对应的哈希函数、相关常熟生成哈希值(即散列值、摘要信息)。

  3. 每种哈希加密算法根据初始化参数生成固定长度的摘要信息,例如SHA-256生成的摘要信息长度为128位。越长安全性越高。

常见哈希加密算法有:MD5SHA-1SHA-2SHA-256SHA-X(系列)

此外还有一种哈希加密算法的扩展算法:哈希加盐算法

我们可以通过在密码中加入一段随机字符串再进行哈希加密,这个被加的字符串称之为盐值。之所以要这样做,是为了增加加密的安全性,尽最大可能被破解。

点击查看更多:哈希加盐算法

破解哈希的常见方法:

  1. 暴力破解
  2. 字典破解(即 跑字典)
  3. 查表,反查表,跑彩虹表

常见加密解密简单总结相关推荐

  1. 常见加密解密和URL编解码

    常见加密解密和URL编解码 Base64 概念: 基于64个可打印字符,用于表示二进制数据,使用的字符包括大小写拉丁字母各26个.数字10个.加号+和斜杠/,共64个字符,等号=用来作为后缀用途 2^ ...

  2. 史上最全总结!爬虫常见加密解密算法

    文章目录 简介 JavaScript 加密解密模块 Crypto-JS Node-RSA JSEncrypt Python 加密解密库 Cryptodome & Crypto Hashlib ...

  3. 【Python网络爬虫】爬虫常见加密解密算法

    ](https://img2020.cnblogs.com/blog/2501174/202108/2501174-20210816091906408-1932195692.png) 简介# 本文总结 ...

  4. java 加密解密简单实现

    转载自:http://www.iteye.com/topic/572581 加密算法有很多种:这里只大约列举几例: 1:消息摘要:(数字指纹):既对一个任意长度的一个数据块进行计算,产生一个唯一指纹. ...

  5. php在线解密mcrypt,PHP 基于 Mcrypt 的加密解密简单类

    最近的一个项目项目中需要对 Cookie 加密,所以使用到了 Mcrypt 的方法进行加密解密的工作,于是我就整理成一个简单的类,以后直接简单调用类实现即可. Mcrypt 介绍 Mcrypt 是 P ...

  6. PB DES、3DES加密解密(简单便捷)

    PB DES\3DES加密解密 通过VDN的uo_vdncore组件快速简单实现PB的DES.3DES.AES.RSA.Base64.Hex.SHA.MD5.HMac等类型的加密解密,本章我们主要讲解 ...

  7. ios常见加密解密方法

    在其他平台中经常会计算MD5值,在ios平台中也提供了该方法,首先需要导入头文件 [cpp] view plaincopy #import <CommonCrypto/CommonDigest. ...

  8. RSA加密解密简单使用

    为什么80%的码农都做不了架构师?>>>    业务场景很简单: 前端输入密码,经加密后传到后台,解密后使用. 第一步,生成密钥,参见http://blog.csdn.net/gen ...

  9. Linux C/C++ Openssl RSA Encrypt/Decrypt(加密/解密) 简单示例教程

    PEM文件有以下格式 1.PEM私钥文件格式 -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- 生成该密钥的Linux命令 : ...

最新文章

  1. 完全解读ping命令应用方法
  2. html5音轨字幕,(图解)如何修改mkv默认音轨和字幕
  3. 如何在python中显示电脑中的图片-python如何实现多个图片显示在屏幕上?
  4. 网页上的静止导航脚本
  5. 【处理手记】Configuration system failed to initialize异常的另类原因
  6. Android中GC的触发时机和条件
  7. 学习使用 Go 的反射
  8. input在vue中如何一次性上传多张图片_小程序图片上传,存储,获取,显示
  9. 藏经阁的藏,不念cang而是zang
  10. opencv 学习之 液晶数字识别
  11. SQL Server 升序和降序排列
  12. 计算机老师为什么不用伽卡他卡做文件服务器?
  13. HTML div表格排版,畅谈DIV排版和table排版的区别
  14. python3爬取头条比基尼图片
  15. 【matlab】【Datcom】气动解算软件win10报错解决办法及运行交互示例
  16. 在线测试手机性能软件,性能:三大跑分
  17. 【已解决】ThinkPad E440 Win7蓝牙无法连接
  18. 分辨率自动调节html,网页根据分辨率自适应
  19. BlazeDS简单介绍
  20. 算法--分治法归并排序 python

热门文章

  1. 一个简单的自定义多附件上传控件
  2. cj20n sap 报错未知列的名称_SAP,PS模块配置和操作手册
  3. pulseaudio之pa_simple_new()流程(十八)
  4. Qemu架构解析(二)
  5. 高通音频驱动调试(十七)
  6. Win10启用linux子系统(Linuxer福利)
  7. Go一个协程实现加法demo
  8. Mac解决安装pip(python2.7)失败
  9. Anroid camera + mediacodec
  10. c语言if语句教学设计,C实验教案(清华)