当前位置: 首页 > 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值;

相关文章:

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

相关加密方法具体使用,查阅工具官方; 对称加密(单密钥加密):常用于传输数据加密 信息的加密和解密使用相同密钥; 常见对称算法: DES(Data Encryption Standard)&#x…...

数据结构之基:从根儿上了解数据结构的特性

学好数据结构,就等于成功了一半。 程序是对现实的模拟,现实是由时间和空间组成的,高效的人都是用最少的时间、最少的空间来做最伟大的事,程序亦是如此。我们要选择最合理的算法和最合理的数据结构,来写最好的代码&…...

C++ 枚举详解

C 枚举详解 C 枚举类型详解 枚举类型的定义格式为&#xff1a; enum <类型名> {<枚举常量表>};关键字enum——指明其后的标识符是一个枚举类型的名字枚举常量表——由枚举常量构成。“枚举常量"或称"枚举成员”&#xff0c;是以标识符形式表示的整型量&…...

【vue3】ref , reactive ,toRef ,toRefs 使用和理解

这篇文章是基于理解写的&#xff0c;仅助于理解&#xff0c;如有任何错误之处&#xff0c;感谢指正&#xff01; 文章目录一.ref的使用1. ref的功能主要有两个&#xff1a;2.使用ref注意事项二.reactive的使用三.使用ref 和 reactive 实现双向数据绑定四.toRef 和 toRefs 的使用…...

fastadmin:如何点击按钮弹出存在的指定页面的弹窗

样式&#xff1a;方法一&#xff1a;直接使用超链接进行操作{:url(popup/purchase/itemno)}&#xff1a;表示地址信息btn-dialog&#xff1a;表示弹窗<a href"{:url(popup/purchase/itemno)}" title"跳转第三方" class"btn btn-success btn-dialog…...

【storybook】你需要一款能在独立环境下开发组件并生成可视化控件文档的框架吗?(三)

storybook插件addons核心插件插件APIargTypes写文档组件注释法MDX生成在线可视化UI文档上一篇&#xff1a; https://blog.csdn.net/tuzi007a/article/details/129194267插件addons 插件用于增强storybook的UI功能。 核心插件 storybook/addon-essentials 它几乎控制了整个s…...

Android源码分析 —— Activity栈管理(基于Android8)

0. 写在前面 本文基于 Android8.0源码&#xff0c;和Android9.0大同小异&#xff0c;但和Android10.0差别非常大&#xff01;新版改用ATM来管理Activity的启动&#xff0c;Activity的生命周期也通过XXXItem来管理。由于我分析的Activity启动流程就是基于Android8/9的&#xff…...

Python实现贝叶斯优化器(Bayes_opt)优化支持向量机分类模型(SVC算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。1.项目背景贝叶斯优化器(BayesianOptimization) 是一种黑盒子优化器&#xff0c;用来寻找最优参数。贝叶斯优化器是基…...

【华为OD机试模拟题】用 C++ 实现 - 分积木(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…...

FFmpeg/OpenCV 实现全屏斜体水印

实现思路 &#x1f914;​ 基于ffmpeg&#xff0c;画布的方式&#xff0c;创建画布 -> 水印 -> 旋转 -> 抠图 -> 叠加到图像上基于ffmpeg&#xff0c;旋转图片的方式&#xff0c;填充 -> 水印 -> 顺时针旋转 -> 逆时针旋转 -> 截图基于opencv&#xff…...

Calendar计算两个时间之间相差几个月

目录说明说明 计算两个时间之间相差几个月&#xff1a; public int getMonth(String startDt, String endDt) { int month 0;try {SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Calendar satrt Calendar.getInstance();Calendar end Cal…...

FPGA基础知识

FPGA是在PAL、PLA和CPLD等可编程器件的基础上进一步发展起来的一种更复杂的可编程逻辑器件。它是ASIC领域中的一种半定制电路&#xff0c;既解决了定制电路的不足&#xff0c;又克服了原有可编程器件门电路有限的缺点。 由于FPGA需要被反复烧写&#xff0c;它实现组合逻辑的基…...

C语言运算符逻辑运算符位运算符

逻辑运算符 下表显示了 C 语言支持的所有关系逻辑运算符。假设变量 A 的值为 1&#xff0c;变量 B 的值为 0&#xff0c;则&#xff1a; 运算符 描述 实例 && 称为逻辑与运算符。如果两个操作数都非零&#xff0c;则条件为真。 (A && B) 为假。 || 称为逻辑…...

机器学习:基于主成分分析(PCA)对数据降维

机器学习&#xff1a;基于主成分分析&#xff08;PCA&#xff09;对数据降维 作者&#xff1a;AOAIYI 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;AOAIYI首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可…...

软件测试之测试模型

软件测试的发展 1960年代是调试时期&#xff08;测试即调试&#xff09; 1960年 - 1978年 论证时期&#xff08;软件测试是验证软件是正确的&#xff09;和 1979年 - 1982年 破坏性测试时期&#xff08;为了发现错误而执行程序的过程&#xff09; 1983年起&#xff0c;软件测…...

【项目精选】网络考试系统的设计与实现(源码+视频+论文)

点击下载源码 网络考试系统主要用于实现高校在线考试&#xff0c;基本功能包括&#xff1a;自动组卷、试卷发布、试卷批阅、试卷成绩统计等。本系统结构如下&#xff1a; &#xff08;1&#xff09;学生端&#xff1a; 登录模块&#xff1a;登录功能&#xff1b; 网络考试模块…...

Python近红外光谱分析与机器学习、深度学习方法融合实践技术

、 第一n入门基础【理论讲解与案 1、Python环境搭建&#xff08; 下载、安装与版本选择&#xff09;。 2、如何选择Python编辑器&#xff1f;&#xff08;IDLE、Notepad、PyCharm、Jupyter…&#xff09; 3、Python基础&#xff08;数据类型和变量、字符串和编码、list和tu…...

实例7:树莓派呼吸灯

实例7&#xff1a;树莓派呼吸灯 实验目的 通过背景知识学习&#xff0c;了解digital与analog的区别。通过GPIO对外部LED灯进行呼吸控制&#xff0c;熟悉PWM技术。 实验要求 通过python编程&#xff0c;用GPIO控制LED灯&#xff0c;使之亮度逐渐增大&#xff0c;随后减小&am…...

java 接口 详解

目录 一、概述 1.介绍 : 2.定义 : 二、特点 1.接口成员变量的特点 : 2.接口成员方法的特点 : 3.接口构造方法的特点 : 4.接口创建对象的特点 : 5.接口继承关系的特点 : 三、应用 : 1.情景 : 2.多态 : ①多态的传递性 : ②关于接口的多态参数和多态…...

用 Visual Studio 升级 .NET 项目

现在&#xff0c;你已可以使用 Visual Studio 将所有 .NET 应用程序升级到最新版本的 .NET&#xff01;这一功能可以从 Visual Studio 扩展包中获取&#xff0c;它会升级你的 .NET Framework 或 .NET Core 网页和桌面应用程序。一些项目类型仍正在开发中并将在不久的未来推出&a…...

ExternalDNS自动化DNS管理实践:实现Kubernetes服务自动注册

ExternalDNS自动化DNS管理实践&#xff1a;实现Kubernetes服务自动注册 一、ExternalDNS概述 ExternalDNS是一个Kubernetes控制器&#xff0c;能够自动同步Kubernetes资源&#xff08;如Service和Ingress&#xff09;到外部DNS服务商。它消除了手动管理DNS记录的繁琐工作&…...

手机和电脑怎样换背景颜色?2026 年最全操作指南来了

想要轻松改变设备背景颜色却不知道从何下手&#xff1f;无论你用的是手机还是电脑&#xff0c;换背景颜色其实比你想象的要简单得多。本篇文章将为你详细介绍各种设备和软件上的背景颜色更换方法&#xff0c;帮你快速掌握这项基础操作技能。手机换背景颜色操作方法完全指南iOS …...

3分钟免费搞定Windows桌面分区:NoFences让你的工作效率翻倍

3分钟免费搞定Windows桌面分区&#xff1a;NoFences让你的工作效率翻倍 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否厌倦了在杂乱无章的Windows桌面上浪费时间寻找文…...

企业AI知识库搭建实战:从文件管理到智能检索的完整方案

2025年我们团队做过一个调研&#xff0c;找了37家用了AI知识库的企业&#xff0c;发现一个有意思的规律&#xff1a;真正用起来的不到1/3&#xff0c;剩下2/3基本都卡在同一个地方——知识库和文件管理系统是割裂的。 你让员工把文件再上传一遍到知识库&#xff1f;没人干。你让…...

避坑指南:在Ubuntu 20.04上配置VNC远程桌面,为什么我推荐UltraVNC Viewer而不是TigerVNC?

Ubuntu 20.04远程桌面配置&#xff1a;为什么UltraVNC Viewer成为技术中坚的首选&#xff1f; 在Linux桌面环境远程管理的世界里&#xff0c;VNC协议就像一位历经沧桑的老兵&#xff0c;依然活跃在企业运维、远程开发和混合办公的第一线。Ubuntu 20.04 LTS作为长期支持版本&…...

TwicketSegmentedControl性能优化终极指南:内存管理与渲染技巧深度解析

TwicketSegmentedControl性能优化终极指南&#xff1a;内存管理与渲染技巧深度解析 【免费下载链接】TwicketSegmentedControl Custom UISegmentedControl replacement for iOS, written in Swift 项目地址: https://gitcode.com/gh_mirrors/tw/TwicketSegmentedControl …...

Red Hat和IBM Node.js参考架构:企业级Node.js应用开发的完整指南

Red Hat和IBM Node.js参考架构&#xff1a;企业级Node.js应用开发的完整指南 【免费下载链接】nodejs-reference-architecture The Red Hat and IBM Node.js Reference architecture. The teams opinion on what components our customers and internal teams should use when …...

OBS-VST插件完整指南:5分钟让直播音频秒变专业的终极方案

OBS-VST插件完整指南&#xff1a;5分钟让直播音频秒变专业的终极方案 【免费下载链接】obs-vst Use VST plugins in OBS 项目地址: https://gitcode.com/gh_mirrors/ob/obs-vst 想在OBS Studio中免费获得专业级音频处理效果吗&#xff1f;OBS-VST插件正是你需要的解决方…...

AArch64虚拟化调试:HDFGWTR2_EL2寄存器详解与应用

1. AArch64系统寄存器与虚拟化调试概述在Armv8/v9架构中&#xff0c;系统寄存器是处理器核心的控制中枢&#xff0c;负责管理处理器的各种关键功能和行为。AArch64架构通过异常级别&#xff08;EL0-EL3&#xff09;实现了严格的权限分级机制&#xff0c;其中EL2作为Hypervisor层…...

C语言内联函数与宏的深度解析:性能、安全与工程实践

1. 项目概述&#xff1a;为什么我们需要关注内联与宏&#xff1f;在C语言的日常开发中&#xff0c;尤其是性能敏感或嵌入式领域的项目里&#xff0c;我们经常面临一个选择&#xff1a;为了实现一个简单的、频繁调用的功能&#xff0c;是写一个函数&#xff0c;还是用一个宏来搞…...