前端常用加密方式使用
文章目录1、Base64 编码2、MD5 加密3、SHA-256 加密4、AES 对称加密常用5、RSA 非对称加密常用6、什么是对称和非对称加密7、什么是哈希算法1. 核心特征2. 常见算法3. 前端/网络中的典型用途4. 不是加密1、Base64 编码Base64不是一种加密算法而是一种编码方法用于将二进制数据转换为基于64个可打印字符的文本字符串。它常用于在URL、Cookie、网页中传输少量二进制数据以及内嵌小图片以减少服务器访问次数。Base64编码简单对性能影响不大但会增加数据体积约 1/3且无法缓存。functiontoBase64(str){returnbtoa(unescape(encodeURIComponent(str)));}functionfromBase64(str){returndecodeURIComponent(escape(atob(str)));}// 使用示例constoriginalTextHello, World!;constencodedTexttoBase64(originalText);console.log(encodedText);// SGVsbG8sIFdvcmxkIQconstdecodedTextfromBase64(encodedText);console.log(decodedText);// Hello, World!2、MD5 加密MD5是一种广泛使用的哈希函数产生128 位16 字节的哈希值。虽然MD5的计算速度快且效率高但存在碰撞风险且安全性较低因此不推荐直接用于密码存储。importCryptoJSfromcrypto-js;functionmd5Encrypt(str){returnCryptoJS.MD5(str).toString();}// 使用示例constoriginalTextHello, World!;constencryptedTextmd5Encrypt(originalText);console.log(encryptedText);// fc3ff98e8c6a0d3087d515c0473f86773、SHA-256 加密HA-256 是 SHA-2家族中的一种加密哈希算法生成 256 位的哈希值。它比 MD5 更安全适用于分布式系统但加密和解密速度较慢且密钥生成复杂。importCryptoJSfromcrypto-js;functionsha256Encrypt(str){returnCryptoJS.SHA256(str).toString();}// 使用示例constoriginalTextHello, World!;constencryptedTextsha256Encrypt(originalText);console.log(encryptedText);// a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e4、AES 对称加密常用AES是高级加密标准是一种对称加密算法使用相同的密钥进行加密和解密。(1)AES加密对称性加密密钥 1 个加解密都用这个密钥(2)AES为一次一密每次加密都会生成新的密钥(3)AES加密为了增加报文安全性AES加密速度快适合大数据量加密但密钥管理复杂一旦密钥泄露加密数据的安全性会受到威胁。importCryptoJSfromcrypto-js;functionaesEncrypt(data,key){constkeyHexCryptoJS.enc.Utf8.parse(key);constencryptedCryptoJS.AES.encrypt(data,keyHex,{mode:CryptoJS.mode.ECB,padding:CryptoJS.pad.Pkcs7});returnencrypted.toString();}functionaesDecrypt(encryptedData,key){constkeyHexCryptoJS.enc.Utf8.parse(key);constdecryptedCryptoJS.AES.decrypt(encryptedData,keyHex,{mode:CryptoJS.mode.ECB,padding:CryptoJS.pad.Pkcs7});returndecrypted.toString(CryptoJS.enc.Utf8);}// 使用示例constkey1234567890123456;// AES key 必须为16位AES-12824位AES-192或32位AES-256constoriginalTextHello, World!;constencryptedTextaesEncrypt(originalText,key);console.log(encryptedText);// 密文constdecryptedTextaesDecrypt(encryptedText,key);console.log(decryptedText);// Hello, World!5、RSA 非对称加密常用RSARivest–Shamir–Adleman是一种非对称加密算法它使用一对密钥——公钥和私钥来进行加密和解密操作。公钥用于加密数据而私钥用于解密数据。密钥对生成网站 http://web.chacuo.net/netrsakeypair新建 jsencrypt.ts:import{JSEncrypt}fromjsencrypt;constpublicKeyMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdH\nnzkXSOVOZbFu/TJhZ7rFANeaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ;constprivateKeyMIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY\n7NtPrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKN\nPuH3owIDAQABAkAfoiLyLZ4lf4Myxk6xUDgLaWGximj20CUf5BKKnlrKEd8gA\nkM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWow\ncSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21vF25WaHYPxCFMvwxpcw99Ecv\nDQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthh\nYhovyloRYsMIS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3\nUP8iWi1Qw0Y;// 加密exportconstencrypt(txt:string){constencryptornewJSEncrypt();encryptor.setPublicKey(publicKey);// 设置公钥returnencryptor.encrypt(txt);// 对数据进行加密};// 解密exportconstdecrypt(txt:string){constencryptornewJSEncrypt();encryptor.setPrivateKey(privateKey);// 设置私钥returnencryptor.decrypt(txt);// 对数据进行解密};组件中使用script setup import { encrypt, decrypt } from /utils/jsencrypt; const text Hello, World!; const encryptedText encrypt(text); // 加密 console.log(加密后的结果----:, encryptedText); const decryptedText decrypt(encryptedText); // 解密 console.log(解密后的结果----, decryptedText); /script输出结果加密后的结果----:I7J3ay7KpwfGz3bEWDv4vuF1orJPwvctzEbfQhnC/B45mJjIhUWNeMLEzHLItECohMbeS8TLbN3SSBTB6u2JVg解密后的结果---- Hello,World!6、什么是对称和非对称加密对称加密Symmetric Encryption对称加密使用同一把密钥进行加密和解密。这意味着发送方和接收方都需要知道相同的密钥。对称加密算法通常速度较快适合用于大量数据的加密。非对称加密Asymmetric Encryption非对称加密使用一对密钥即公钥和私钥。公钥可以公开发布用于加密数据私钥必须保密用于解密数据。非对称加密通常比对称加密慢但由于其安全性更高常用于密钥交换和身份认证等场景。7、什么是哈希算法哈希算法Hash Function是把任意长度的输入通过确定的数学变换映射成固定长度的、看似随机的输出哈希值 / 摘要 / 指纹的规则。1. 核心特征特征解释例子确定性同一输入永远得到同一输出hello→2cf24dba…每次一样定长输出输出长度固定与输入大小无关SHA-256 永远 256 bit不可逆从输出无法反推输入单向函数知道5d41402a…算不回hello雪崩效应输入轻微改动输出天差地别hellovshallo→ 几乎全变抗碰撞难以找到两个输入产生同一输出理想状态下几乎不可能2. 常见算法算法输出长度场景状态MD5128 bit旧校验/分片❌ 已不安全SHA-1160 bitGit、老 TLS❌ 已不安全SHA-256256 bit区块链、HTTPS、JWT✅ 主流SHA-3 / BLAKE3可变新一代✅ 更安全MurmurHash32/64/128 bit哈希表、分片✅ 高性能、非加密3. 前端/网络中的典型用途缓存校验文件指纹app.4e5c67.js判断是否重新下载密码存储bcrypt(password salt)保存摘要而不是明文数据结构JavaScript 对象、Map、Set内部哈希表分片上传按文件内容哈希生成etag秒传/断点续传URL 签名?signSHA256(secretpathexp)防篡改4. 不是加密哈希 ≠ 加密。加密是可逆的需要密钥哈希是单向的。因此“解密哈希”是伪概念正确说法应是“暴力破解”或“查彩虹表”。哈希算法是数字世界的指纹机给任何数据拍一张不可逆、唯一且定长的“指纹照”用来校验、索引、签名、去重、存密码。 感谢阅读想了解更多 我的博客网站 | 记录思考分享干货 我的个人主页 | 关于我、开源项目

相关新闻

量化交易数据源选型指南:从Tushare到QMT的OpenClaw实战

量化交易数据源选型指南:从Tushare到QMT的OpenClaw实战

1. 项目概述:量化交易的数据基石之战做量化交易,第一步也是最关键的一步,就是“找数据”。这就像盖房子打地基,地基不牢,后面无论策略模型多精妙,回测曲线多漂亮,都可能是空中楼阁。最近在折腾O…

2026/8/25 10:22:56 阅读更多 →
量化交易数据源选型与混合架构实战:从Tushare到QMT的OpenClaw集成

量化交易数据源选型与混合架构实战:从Tushare到QMT的OpenClaw集成

1. 项目概述:量化交易的数据基石之战做量化交易,第一步也是最关键的一步,就是搞定数据。没有高质量、稳定、及时的数据,再精妙的策略也只是空中楼阁。最近在折腾OpenClaw这个开源量化智能体框架,想用它来搭建一个自动化…

2026/8/26 13:45:32 阅读更多 →
微信小程序webview postmessage通信指南

微信小程序webview postmessage通信指南

需求概述 在微信小程序中使用 web-view 组件与内嵌网页通信时,网页可以通过 wx.miniProgram.postMessage 向小程序发送消息,小程序通过 web-view 的 bindmessage 接收。该接口仅支持网页向小程序发送消息;小程序向网页传参通常使用 URL 参数…

2026/8/25 10:22:56 阅读更多 →

最新新闻

OCPP1.6 Smart Charging 解读

OCPP1.6 Smart Charging 解读

1、关于智能充电的解读:以下是个人理解,不一定准确,有误及时修改2、 SetChargingProfile.req 协议内容csChargingProfiles展开chargingSchedule展开,表示充电计划表的具体信息chargingSchedulePeriod展开,表示具体每个…

2026/8/26 14:04:07 阅读更多 →
当删除手机数据变成重罪:数字时代隐私权的至暗时刻

当删除手机数据变成重罪:数字时代隐私权的至暗时刻

我是AI时代的无业游民,我游荡在现实与意念之间当删除手机数据变成重罪:数字时代隐私权的至暗时刻 你有没有想过,一次普通的手机解锁操作,可能会让你面临长达20年的牢狱之灾?这不是科幻电影的桥段,而是正在美…

2026/8/26 14:04:07 阅读更多 →
国产长芯微LDC8562完全P2P替代DAC8562数模转换芯片DAC

国产长芯微LDC8562完全P2P替代DAC8562数模转换芯片DAC

LDC8562器件分别是低功耗、电压输出、双通道、16位数模转换器(DAC)。这些设备包括一个2.5V、4-ppm/C的内部参考,提供2.5V或5V的满标度输出电压范围。内部参考的初始精度为5mV,可以在VREFIN/VREFOUT引脚上提供或吸收高达20mA的电流…

2026/8/26 14:04:07 阅读更多 →
0xc000012d错误无法启动程序?先看懂缺失的运行库,再做一个自动修复

0xc000012d错误无法启动程序?先看懂缺失的运行库,再做一个自动修复

文章目录0xc000012d 错误码,它究竟在表达什么你的电脑为什么会缺这些运行库自己动手修复:一条可行但磨人的路换一个思路,让工具自动完成修复别忘了 DirectX 也可能是帮凶修复之后仍打不开,再试最后一招0xc000012d 错误码&#xff…

2026/8/26 14:04:07 阅读更多 →
Tongweb7049+TongRDS2214-2216+THS6010-6012 开机自启动(by lqw)

Tongweb7049+TongRDS2214-2216+THS6010-6012 开机自启动(by lqw)

原理 配置rc.local(这个网上有很多示范,为了方便使用,在这里总结一下各个产品的配置) Tongweb7049 Tongweb7049 本身自带开机自启动脚本(bin目录下的installxxx.sh),但是有时执行失败的话&#…

2026/8/26 14:04:07 阅读更多 →
three.js 开发者必装的终极调试神器 three-devtools:告别 console.log 定位 3D 问题

three.js 开发者必装的终极调试神器 three-devtools:告别 console.log 定位 3D 问题

three.js 开发者必装的终极调试神器 three-devtools:告别 console.log 定位 3D 问题 【免费下载链接】three-devtools three.js devtools 项目地址: https://gitcode.com/gh_mirrors/th/three-devtools three-devtools 是一款专为 three.js 打造的浏览器开发…

2026/8/26 14:03:05 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →