当前位置: 首页 > news >正文

【加密】开发常见加密类型

相关加密方法具体使用,查阅工具官方;

对称加密(单密钥加密):常用于传输数据加密

信息的加密和解密使用相同密钥;

常见对称算法:

  • DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;
  • 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;
  • AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256位密钥的加密;
// npm install crypto-js.js --save
const CryptoJS = require('crypto-js');
CryptoJS.AES.encrypt()
CryptoJS.AES.decrypt()

非对称加密:常用于身份验证、密钥协商

信息的加密使用公钥,解密使用私钥;
发送方用接收方的公钥加密,接收方用自己的密钥解密;

常见非对称加密算法:

  • RSA:RSA 是一种目前应用非常广泛、历史也比较悠久的非对称秘钥加密技术;
  • 国密sm2/sm4:是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法;
// npm install sm-crypto --save
const sm2 = require('sm-crypto').sm2
// 获取密钥对
let keypair = sm2.generateKeyPairHex()
const publicKey = keypair.publicKey // 公钥
const privateKey = keypair.privateKey // 私钥
sm2.doEncrypt()
sm2.doDecrypt()

加密不解密:常用于数据完整性校验

用于确保信息传输完整一致,如对密码加密、文件唯一标识;

常见方式:

  • sha1,同md5
  • md5:npm i md5;... password: md5(password)
  • md5sum命令:linux命令$ md5sum [filename],用于根据内容生成和校验文件的md5值;
http://www.lryc.cn/news/19512.html

相关文章:

  • 数据结构之基:从根儿上了解数据结构的特性
  • C++ 枚举详解
  • 【vue3】ref , reactive ,toRef ,toRefs 使用和理解
  • fastadmin:如何点击按钮弹出存在的指定页面的弹窗
  • 【storybook】你需要一款能在独立环境下开发组件并生成可视化控件文档的框架吗?(三)
  • Android源码分析 —— Activity栈管理(基于Android8)
  • Python实现贝叶斯优化器(Bayes_opt)优化支持向量机分类模型(SVC算法)项目实战
  • 【华为OD机试模拟题】用 C++ 实现 - 分积木(2023.Q1)
  • FFmpeg/OpenCV 实现全屏斜体水印
  • Calendar计算两个时间之间相差几个月
  • FPGA基础知识
  • C语言运算符逻辑运算符位运算符
  • 机器学习:基于主成分分析(PCA)对数据降维
  • 软件测试之测试模型
  • 【项目精选】网络考试系统的设计与实现(源码+视频+论文)
  • Python近红外光谱分析与机器学习、深度学习方法融合实践技术
  • 实例7:树莓派呼吸灯
  • java 接口 详解
  • 用 Visual Studio 升级 .NET 项目
  • JavaWeb中FilterListener的神奇作用
  • 移动端布局
  • 前端无感登录,大文件上传
  • Spring Boot系列03--自动配置原理
  • Java多线程(四)---并发编程容器
  • Apache Hadoop生态部署-Flume采集节点安装
  • 【OpenFOAM】-算例解析合集
  • 数据库|(一)数据库和SQL概述
  • 【java基础】自定义类
  • 7、STM32 FSMC驱动SRAM
  • 七、虚拟机栈