美文网首页
前端加密的简单总结

前端加密的简单总结

作者: yun_blog | 来源:发表于2020-06-28 18:13 被阅读0次

数据加密一般是为了前后端在数据交互过程中数据的安全。常见的做法有前端加密之后传输数据和启用HTTPS协议。现在主要简单总结前端数据加密

对称加密与非对称加密(可逆)

这两种是前端数据加密的两种表现形式。所谓的对称加密就是解密与加密是一套秘钥,而非对称加密解密与加密是两套不同的秘钥。

前端使用非对称加密的原理是前端公用一套加密算法,前端使用公钥对数据进行加密,后端使用时用秘钥将数据解密为明文,中间攻击人拿到密文,若果没有私钥的话是没办法破解的。
主要运用场景是登录或者是用户的私密信息(如银行卡项目信息)前端将其加密,并将加密数据传输给后端,后端用过秘钥解密获取信息。该过程可防止数据在传输的过程中被拦截。
因为前端的透明性,使用js进行非对称加密是相对安全的。对称加密算法有des, 3des, tdea, aes;非对称加密算法有rsa,d-h, ecc;

MD5与SHA(不可逆)

MD5与SHA均是哈希算法,哈希算法不是某一种算法,而是特指一类算法,哈希算法又叫散列算法,是一种只能加密,不能解密的密码学算法。只要符合这类算法的特点就属于哈希算法(就是讲任意长度的输入转换为固定长度的输出)。

其主要原理: 其将明文转换成一段散列值(摘要),将报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。
应用场景:用户密码的加密,请求参数校验,文件下载校验

MD5

md5是不可逆的,经过MD5加密的数据是不可解密的。
MD5的值不是唯一的,一个原始数据对应一个MD5值;但是一个MD5值。可能对应多个原始数据。
MD5的加密原理是哈希算法。
因为MD5是不可逆的,所以不存在解密这一说;md5可以用来做校验,具体来说文件的md5值就像文件的指纹,每个文件的md5值是不同的,任何人对文件做了修改,其MD5值也会改变。
md5的js方法参考:https://github.com/blueimp/JavaScript-MD5

sha-1

sha表示安全哈希算法,sha-1是改算法的一个版本,其他版本还有sha-2;has-1是160位的哈希值,而has-2是组合值,有 不同的位数,其中最受欢迎的是256位。
sha1与MD5的最大区别在于其摘要比MD5摘要长32比特。运行速度比MD5慢。
has-1的js方法参考:https://github.com/emn178/js-sha1

base64加密与解密(可逆)

理论上不算加密,这个只是将文本按照一定的编码格式从新写一遍,但是可以起到一定的加密作用。这个更适合叫转码与解码。

对兼容性没要求的换可以是用js原生支持的window.btoa()与window.atob()方法进行转码与解码(js已经原生支持base64的转码与解码)。
需要注意的是window.btoa()将ascii字符串或二进制数据转换成一个base64编码过的字符串,该方法不能直接作用于Unicode字符串。因此最后对传入该方法中的数据进行转码

如果对兼容是有要求的那么就要使用插件js-base64进行处理

相关知识点
ASCII编码,占用0 - 127用来表示大小写英文字母、数字和一些符号。
Unicode字符,Unicode是为了解决传统的字符编码方案局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言,跨平台进行文本转换,处理的要求

参考文档:http://www.likecs.com/show-30596.html
参考文档:https://www.cnblogs.com/chenlong-50954265/p/5647056.html

相关文章

  • 前端加密的简单总结

    数据加密一般是为了前后端在数据交互过程中数据的安全。常见的做法有前端加密之后传输数据和启用HTTPS协议。现在主要...

  • js中常见的数据加密与解密的方法

    加密在我们前端的开发中也是经常遇见的。本文只把我们常用的加密方法进行总结。不去纠结加密的具体实现方式(密码学,太庞...

  • AES+RSA加密联合使用

    AES+RSA加密联合使用 使用原因: 因为加密解密效率的问题 使用方式前端:前端对需要加密的数据进性AES加密,...

  • 非对称加密解密RSA的实现例子

    背景 最近有接触到加密相关的内容,本期以非对称加密为例子,做个简单的总结和记录。首先了解下非对称加密,简单来说非对...

  • 密码学

    开发中总会遇到许多关于密码加密的问题,现在简单总结一下 1、RSA加密 计算机刚开始的加密方式是对称加密,也就是加...

  • 加密技术简介

    本文是本人学习加密相关知识最初的笔记,可对加密相关知识进行简单直观的总结。 本文的目标是方便初学者快速对加密相关的...

  • 加密基础知识四 前端JS加密传输 crypto-js

    参考Java 前端加密传输后端解密以及验证码功能 一、使用HTTP简单加密 对系统安全性要求比较高,那么需要选择h...

  • 前端几种加密方式整理

    前端几种加密方式整理

  • react base64

    本文介绍一下如何在react中对于前端密码用base64加密算法加密,实现起来很简单,但是做需求的时候在网上并没有...

  • 前端使用crypto.js进行加密

    在前端登录记住密码的时候需要前端来进行加密工作,接触到crypto这个js,使用还算简单,在这里记录一下在vue框...

网友评论

      本文标题:前端加密的简单总结

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