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

常州全景网站制作个人备案的网站做企业内容

常州全景网站制作,个人备案的网站做企业内容,吉首自治州住房和城乡建设局网站,网站域名去哪里备案为什么要加密? 现在的互联网世界充满了各种各样的信息,有些信息非常重要,比如密码、个人信息等。如果我们把这些信息直接发送到服务器,别人可能会截取到,然后偷走我们的信息。为了避免这种情况发生,我们需…

为什么要加密?

现在的互联网世界充满了各种各样的信息,有些信息非常重要,比如密码、个人信息等。如果我们把这些信息直接发送到服务器,别人可能会截取到,然后偷走我们的信息。为了避免这种情况发生,我们需要把重要的信息变成别人看不懂的东西,这就是加密的作用。

CryptoJS 是什么?

CryptoJS 是一个非常好用的 JavaScript 库,它能帮我们加密和解密信息。这个库很小巧,而且功能很强大,支持很多种加密方法。我们这里主要用它的 AES 加密功能。

如何安装 CryptoJS?

首先,我们需要在项目里安装 CryptoJS。可以用下面的命令来安装:

npm install crypto-js

或者

yarn add crypto-js

如何加密和解密?

现在我们已经有了 CryptoJS,接下来就可以写代码来加密和解密信息了。

密钥和偏移量

加密需要一把“钥匙”,这把钥匙就是密钥。另外还有一个叫“偏移量”的东西,它可以帮助我们更好地加密信息。这两个东西一定要保密,不能让别人知道。

import * as CryptoJS from "crypto-js";// 密钥和偏移量
// 这里使用环境变量来设置密钥和偏移量,确保它们的安全性
const key = CryptoJS.enc.Utf8.parse(process.env.VUE_APP_KEY);
const iv = CryptoJS.enc.Utf8.parse(process.env.VUE_APP_IV);
加密函数

我们写一个函数来加密信息。这个函数接收一段明文(也就是正常能看懂的文字),然后返回加密后的文字。

// AES加密函数
export function encrypt(text: string): string {// 使用 CryptoJS 的 AES 方法加密文本const encrypted = CryptoJS.AES.encrypt(text, key, {mode: CryptoJS.mode.ECB, // 使用 ECB 模式padding: CryptoJS.pad.Pkcs7, // 使用 PKCS7 填充iv: iv // 使用偏移量});// 将加密后的数据转换成 Base64const base64Cipher = encrypted.ciphertext.toString(CryptoJS.enc.Base64);// 处理 Android 某些低版本的 BUG// 替换某些特殊字符,因为加密后的 Base64 字符串在某些设备上会有问题const resultCipher = base64Cipher.replace(/\+/g, "-").replace(/\//g, "_");// 返回加密后的经过处理的 Base64return resultCipher;
}
解密函数

我们还需要一个函数来解密信息。这个函数接收加密后的文字,然后返回正常的明文。

// AES解密函数
export function decrypt(encryptData: string): string {try {// 先将 Base64 还原一下,因为加密的时候做了一些字符的替换const restoreBase64 = encryptData.replace(/\-/g, "+").replace(/_/g, "/");// 解密const decryptedContent = CryptoJS.AES.decrypt(restoreBase64, key, {mode: CryptoJS.mode.ECB, // 使用 ECB 模式padding: CryptoJS.pad.Pkcs7, // 使用 PKCS7 填充iv: iv // 使用偏移量});// 将解密对象转换成 UTF8 的字符串const resultDecipher = CryptoJS.enc.Utf8.stringify(decryptedContent);// 返回解密结果return resultDecipher;} catch (error) {// 如果解密失败,返回空字符串return ""; }
}

如何在 Vue.js 项目中使用

假设我们有了上面的加密和解密函数,现在要在 Vue.js 项目中使用它们。

创建一个 Vue 组件

我们创建一个简单的 Vue 组件,让用户输入一些信息,然后可以加密和解密。

<template><div><input type="text" v-model="plaintext" placeholder="请输入明文" /><button @click="encryptText">加密</button><button @click="decryptText">解密</button><p>加密后的文本: {{ ciphertext }}</p><p>解密后的文本: {{ decryptedText }}</p></div>
</template><script setup>
import { ref } from 'vue';
import { encrypt, decrypt } from './crypto'; // 导入我们写的加密和解密函数// 定义响应式状态
const plaintext = ref('');
const ciphertext = ref('');
const decryptedText = ref('');// 加密文本
function encryptText() {ciphertext.value = encrypt(plaintext.value);
}// 解密文本
function decryptText() {decryptedText.value = decrypt(ciphertext.value);
}
</script>
http://www.yayakq.cn/news/607513/

相关文章:

  • 线上调研问卷在哪个网站上做体育评论做的好的网站
  • 模板建站符合哪些工作需求?做网站买了域名之后
  • 洛阳网站建设公司排行国外做giveaway的网站
  • 网站空间空间租赁wordpress官网插件
  • 旅游网站怎么做才能被关注万峰科技.jsp网站开发四酷全书 m
  • 网站asp.net安装环保局网站设计方案
  • 做网站知乎企业网站建设分工
  • 网站建站网站91955小程序一键开发免费
  • 网站开发小图标开发一个功能网站多少钱
  • 站外引流推广渠道房地产开发公司资质等级
  • 在某网站被骗钱该怎么做怎么创建一个公司网站
  • 广西柳州网站制作公司外网访问内网wordpress
  • 手机网站排名优化软件专业建设网站服务
  • 邯郸wap网站制作深圳官网网站建设
  • 网站负责人姓名高端集团官方网站建设公司
  • 水务公司网站建设方案本溪做网站的
  • 潍坊兆通网站建设品牌网站的建设
  • 建成局网站建设找培训机构的网站
  • 东华建设官方网站广东深圳罗湖直客三部
  • 长治企业网站建设价格景观园林设计公司
  • 唐山网站建设赫鸣科技网站上的vR场景贴图怎么做的
  • 网页传奇游戏中心优化大师卸载不了
  • 济南网站建设代理代做seo关键词排名
  • 重庆网站制作一般多少钱公司的网站建设规划书
  • 万网做网站给网站源码哪些店铺适合交换友情链接
  • 什么网站可以做报名系统wordpress开发框架
  • 淮安市网站网站建设普及型
  • 中英文网站源码php平面设计网上培训一般多少钱
  • 枣庄三合一网站开发建设银行鹤岗分行网站
  • 优秀网站及网址wordpress作者权限