对称加密和非对称加密的区别与使用
主要介绍两种加密方法:对称加密和非对称加密
对称加密:加密和解密过程使用同一个秘钥。加密过程等价于用原文+秘钥得到传输的密文,解密过程等价于密文+秘钥推导出原文。
常见算法有:DES、AES…
优点:加密和解密速度较快,耗时短,适合数据较长时使用;秘钥可自定义。
缺点:无法保证秘钥被安全传递,密文在传输过程中可能被第三方截获,如果秘钥也被截获,则传输的密码信息会被推导出,安全性较低。
AES秘钥在线
const CryptoJS = require('crypto-js')
// AES加密
function aesEncrypt(data, keys, ivs) {const res = CryptoJS.AES.encrypt(data, CryptoJS.enc.Utf8.parse(keys), {iv: CryptoJS.enc.Utf8.parse(ivs), // 偏移量,可不加mode: CryptoJS.mode.CBC, // 加密模式padding: CryptoJS.pad.Pkcs7, // 填充方式})return res.toString()
}// AES解密
function desDecrypt(data, keys, ivs) {const res = CryptoJS.AES.decrypt(data, CryptoJS.enc.Utf8.parse(keys), {iv: CryptoJS.enc.Utf8.parse(ivs), // 偏移量,可不加mode: CryptoJS.mode.CBC, // 解密模式padding: CryptoJS.pad.Pkcs7, // 填充方式})return res.toString()
}
非对称加密:加密和解密过程使用两个秘钥,一般使用公钥进行加密,私钥进行解密。
常见算法有:RSA、背包算法、ECC…
优点:使用一对秘钥,公钥用来加密,私钥用来解密,不需要像对称加密那样同步秘钥,而且只能通过私钥来推导公钥,反之则不能,安全性较高。
缺点:加密和解密花费的时间较长、速度较慢,适合对少量数据的使用。
RSA秘钥在线生成
import JSEncrypt from 'jsencrypt'
const pubKey = 'xxx' // 公钥
const priKey = 'xxx' // 秘钥
// RSA加密
function rsaEncrypt(data){const encrypt = new JSEncrypt() // 创建加密对象实例encrypt.setPublicKey(pubKey) // 设置公钥return encrypt.encrypt(data) // 对内容加密
}// RSA解密
function rsaDecrypt(data){const decrypt = new JSEncrypt() // 创建加密对象实例decrypt.setPrivateKey(priKey) // 设置秘钥return decrypt.decrypt(data) // 对加密内容解密
}
非对称加密和对称加密的区别
前端利用jsencrypt.js进行RSA加密
对称加密和非对称加密的区别与使用相关推荐
- http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎
TCP和UDP协议是TCP/IP协议的核心. 在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol).UDP(用户数据报协议,User Data P ...
- 2020-09-23: 对称加密与非对称加密的区别,哪个更安全?为什么?
2020-09-23: 对称加密与非对称加密的区别,哪个更安全?为什么? 前言 对称加密与非对称加密的区别,哪个更安全?为什么? 前言 每日一题专栏 对称加密与非对称加密的区别,哪个更安全?为什么? ...
- 对称加密和非对称加密介绍和区别
什么是对称加密技术? 对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短, ...
- 对称加密与非对称加密的区别_https原理及对称加密、非对称加密、数字证书、数字签名的含义...
一.为什么要使用https 使用https的原因其实很简单,就是因为http的不安全. 当我们往服务器发送比较隐私的数据(比如说你的银行卡,身份证)时,如果使用http进行通信.那么安全性将得不到保障 ...
- mysql对称连接什么意思_对称加密与非对称加密的区别是什么
区别:1.对称加密中加密和解密使用的秘钥是同一个:非对称加密中采用两个密钥,一般使用公钥进行加密,私钥进行解密.2.对称加密解密的速度比较快,非对称加密和解密花费的时间长.速度相对较慢.3.对称加密的 ...
- 对称加密、非对称加密、RSA、消息摘要、数字签名、数字证书与 HTTPS 简介
文章目录 1.加密算法简介 1.1 对称加密(Symmetric Key Algorithms) 1.2 非对称加密(Asymmetric Key Algorithms) 1.3 非对称加密 RSA ...
- 对称加密与非对称加密,以及RSA的原理
一 , 概述 在现代密码学诞生以前,就已经有很多的加密方法了.例如,最古老的斯巴达加密棒,广泛应用于公元前7世纪的古希腊.16世纪意大利数学家卡尔达诺发明的栅格密码,基于单表代换的凯撒密码.猪圈密码, ...
- 面试题——对称加密和非对称加密
面试题高频:https和http的区别,对称加密和非对称加密的了解. http 概念 http协议是应用层的协议,又称:超文本传输协议(Hypertext transfer protocal),是浏览 ...
- 对称加密和非对称加密是什么?
本文内容如有错误.不足之处,欢迎技术爱好者们一同探讨,在本文下面讨论区留言,感谢. 文章目录 简述 术语 对称加密 非对称加密 区别 总结 参考资料 简述 在当今的网络世界中,存在着未经授权访问所有形 ...
最新文章
- 【总结+计划】2015一月份总结+2015二月份计划——全栈实践
- Python3使用tkinter编写GUI程序
- MySql入门使用:登录及简单创建查询表
- JavaScript从内容中筛选出手机号码集合
- 理解vue赋值新属性
- python 语言教程(1)前言
- 程序员如何做好技术规划?
- Highlighting System
- linux 负载命令,通过Linux命令查看系统平均负载的方法
- 【SDK】Memory read error at 0xF8007080
- SAP License:再论分摊与分配(含实例)
- iOS中如何添加自定义的字体库
- MFC下如何定义全局变量和全局函数
- 项目服务接口设计_Spring Boot Security 整合 OAuth2 设计安全API接口服务
- CentOS 关闭防火墙selinux
- 携程中转机票竟然相差23小时
- android 来电自动接听和自动挂断
- mysql修改指定记录_sql操作之修改记录值
- RestTemplate获取HTTP状态码
- 小米笔记本触摸板失效