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

做网站的流程方法2022推广app赚佣金平台

做网站的流程方法,2022推广app赚佣金平台,石家庄模板网站,网站做百度地图怎么做呢1、引言 1.1 前端为何需要加密? 在现代 Web 应用中,前端承担了越来越多的业务逻辑和数据处理任务。用户输入的数据(如密码、手机号、身份证号)往往需要在发送到后端前进行初步加密,以防止中间人攻击(MITM)、日志泄露等问题。 虽然 HTTPS 已成为标配,但仅靠 HTTPS 并…

1、引言

1.1 前端为何需要加密?

在现代 Web 应用中,前端承担了越来越多的业务逻辑和数据处理任务。用户输入的数据(如密码、手机号、身份证号)往往需要在发送到后端前进行初步加密,以防止中间人攻击(MITM)、日志泄露等问题。

虽然 HTTPS 已成为标配,但仅靠 HTTPS 并不能完全保证数据安全。在某些场景下(如登录密码、支付信息),我们仍需在前端对敏感数据进行加密或签名。

1.2 敏感数据的定义与常见场景

常见的敏感数据包括:

  • 用户密码
  • 手机号码
  • 身份证号
  • 银行卡号
  • Token / Session ID
  • API 请求参数

这些数据在传输或存储过程中都应受到保护。

1.3 前端加密 vs 后端加密:边界与协同

维度前端加密后端加密
数据来源客户端生成服务端生成
安全性保障提高传输层安全性保证最终落地安全
技术限制受浏览器 API 支持更灵活强大
协同建议前端加密 + HTTPS + 后端二次加密

2、JavaScript 加密基础概念

2.1 加密的基本类型:对称加密 vs 非对称加密

  • 对称加密(Symmetric Encryption)
    使用同一个密钥进行加密和解密。常见算法:AES、DES、3DES
    优点:速快;缺点:密钥管理困难

  • 非对称加密(Asymmetric Encryption)
    使用公钥加密,私钥解密。常见算法:RSA、ECC
    优点:无需共享密钥;缺点:性能较低

2.2 Base64 编码简介与使用场景(非加密)

Base64 不是加密算法,而是一种编码方式,用于将二进制数据转换为 ASCII 字符串,以便在网络上传输。

常见用途:

  • 图片转 base64 内嵌在 HTML/CSS 中
  • JWT token 编码
  • 文件上传前临时编码

⚠️ 注意:Base64 是可逆的,不能用于保密!

2.3 常见加密算法概述

算法类型用途是否推荐
AES对称加密/解密数据✅ 推荐
RSA非对称密钥交换、数字签名✅ 推荐
SHA-256摘要数据完整性验证✅ 推荐
MD5摘要校验值计算❌ 不推荐用于安全性场景
HMAC-SHA256摘要+密钥签名验证✅ 推荐

2.4 浏览器安全模型与同源策略的影响

浏览器中的 JavaScript 运行在沙箱环境中,受同源策略(Same-Origin Policy)限制。这意味着跨域请求无法访问加密结果,除非明确授权。

2.5 Web Crypto API 简介

Web Crypto API 是浏览器内置的一套加密接口,支持 AES、SHA、RSA、PBKDF2 等多种算法,安全性高于第三方库。

3、使用 Base64 编码与解码

3.1 什么是 Base64?它不是加密!

Base64 是一种将任意字节流转换为 ASCII 字符串的方法,常用于在不丢失格式的情况下传输数据。

3.2 JavaScript 中使用 btoa()atob() 进行 Base64 编码/解码

const str = "Hello, World!";
const encoded = btoa(str); // 编码
console.log(encoded); // 输出: SGVsbG8sIFdvcmxkIQ==const decoded = atob(encoded); // 解码
console.log(decoded); // 输出: Hello, World!

⚠️ 注意:btoa()atob() 不支持 Unicode 字符,遇到中文会报错。

3.3 使用 Buffer 或第三方库处理二进制数据(如 js-base64

使用 base64-js 处理二进制数据:

npm install base64-js
import { fromByteArray, toByteArray } from 'base64-js';const bytes = new TextEncoder().encode("你好,世界");
const base64 = fromByteArray(bytes);
console.log(base64); // 输出: 5bCP5piO77yM5LiA5rO9const decodedBytes = toByteArray(base64);
const text = new TextDecoder().decode(decodedBytes);
console.log(text); // 输出: 你好,世界

3.4 Base64 在图片、文件、Token 传输中的典型应用

示例:将图片转为 Base64

<input type="file" id="fileInput">
<script>
document.getElementById('fileInput').addEventListener('change', function (e) {const file = e.target.files[0];const reader = new FileReader();reader.onload = function () {console.log(reader.result); // data:image/png;base64,iVBORw0KG...};reader.readAsDataURL(file);
});
</script>

3.5 示例代码:将字符串和字节数组转为 Base64 并还原

function stringToBase64(str) {return btoa(unescape(encodeURIComponent(str)));
}function base64ToString(b64) {return decodeURIComponent(escape(atob(b64)));
}const original = "这是一段中文文本";
const encoded = stringToBase64(original);
console.log(encoded); // 输出: 5oiR5piv5paH5rO95rO95Y+k5a6i5qCHconst decoded = base64ToString(encoded);
console.log(decoded); // 输出: 这是一段中文文本

4、使用 Web Crypto API 实现加密

4.1 Web Crypto API 概述与优势

Web Crypto API 是现代浏览器原生支持的一组加密接口,位于 window.cryptowindow.crypto.subtle 下。它提供了安全、高效的加密能力,无需依赖第三方库。

✅ 优势:

  • 安全性高(运行在浏览器内部沙箱中)
  • 支持多种加密算法(AES、RSA、SHA、HMAC 等)
  • 不依赖外部库,减少体积和潜在漏洞
  • 可用于生成密钥、加密/解密、签名/验证等操作

⚠️ 注意:

  • 需要 HTTPS 环境(部分功能如 RSA-OAEP 在非 HTTPS 下受限)
  • 兼容性良好(主流浏览器均支持)

4.2 使用 AES-GCM 进行对称加密与解密

AES-GCM(Advanced Encryption Standard - Galois/Counter Mode)是一种常用的对称加密模式,具备良好的性能和安全性。

示例:AES-GCM 加密 + Base64 输出

async function encryptAESGCM(key, data) {const encoder = new TextEncoder();const iv = crypto.getRandomValues(new Uint8Array(12)); // 初始化向量const encryptedContent = await crypto.subtle.encrypt({name: "AES-GCM",iv: iv},key,encoder.encode(data));return {iv: Array
http://www.dtcms.com/wzjs/230153.html

相关文章:

  • 阳谷网站建设网络推广做seo是什么意思
  • 网站设计工百度框架户开户渠道代理
  • 商城型网站建设郑州网站推广技术
  • 外包网站设计哪家好小程序开发
  • 贵阳建设工程招投标网站成都网站推广哪家专业
  • wordpress 网页飘窗成都网站排名 生客seo
  • 网站建设与制作外包服务怎么搞自己的网站
  • flash制作网站的好处关键词排名怎么查
  • 兴化网站开发全球新冠疫情最新消息
  • 深圳网站界面设计电商网站建设 网站定制开发
  • wordpress插件过多不好搜狗seo培训
  • web前端工程师简历上海网站优化公司
  • python node 网站开发合肥头条今日头条新闻最新消息
  • 服务好的赣州网站建设如何制作简单的网页链接
  • 怎样看一个网站的信息吗优化营商环境工作总结
  • ppt做长图网站百度开放平台
  • 南京商城网站建设郑州网站推广公司咨询
  • 乌鲁木齐 建设厅网站今日热点新闻10条
  • 建立个人网页北海百度seo
  • 网站备案需要原件吗免费男女打扑克的软件
  • 哪些网站教你做美食的网络营销方法有哪些
  • iis怎么建设网站内容网站排名seo软件
  • 中企动力科技股份有限公司网站官网他达拉非的副作用和危害
  • 杭州 做网站seo优化推广技巧
  • 新浪云部署wordpress河北seo推广
  • 网页制作与网站管理网站建设优化
  • 网站子目录安装dedecms导致网页布局混乱的解决方法百度的网址怎么写
  • 做磁性材料在哪些网站推广比较好网站如何宣传推广
  • 1做网站推广uc信息流广告投放
  • 阎良网站建设百度关键词排名代做