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

网站建设及服务合同书琴童少儿音乐创作网站建设

网站建设及服务合同书,琴童少儿音乐创作网站建设,石家庄科技网站,能自己创造游戏的软件目录 1、安装crypto2、创建crypto.js文件3、在main.js主文件中进行引用4、页面中进行使用5、实现效果展示6、加密模式解析以及iv参数使用 1、安装crypto npm install crypto-js 如果是在Typescript版本需要再安装 npm install --save types/crypto-js2、创建crypto.js文件 注… 目录 1、安装crypto2、创建crypto.js文件3、在main.js主文件中进行引用4、页面中进行使用5、实现效果展示6、加密模式解析以及iv参数使用 1、安装crypto npm install crypto-js 如果是在Typescript版本需要再安装 npm install --save types/crypto-js2、创建crypto.js文件 注意点 CryptoJS.enc.Utf8.parse(‘xxxxx’)秘钥应该前后端保持一致否则会导致加密和解密无法正常进行因为只有使用相同的密钥才能正确地加密和解密数据。密钥的长度和格式需要符合 AES 加密算法的要求 详解 CryptoJS.AES.encrypt 是 crypto - js 库中用于 AES 加密的方法它接受三个参数 plaintext要加密的文本 KEY定义的加密密钥。 一个配置对象这里指定了两个属性 mode加密模式设置为 CryptoJS.mode.ECB即电子密码本模式。ECB 模式是一种简单的加密模式它将明文分成固定长度的块然后对每个块进行独立加密。但这种模式存在安全风险例如相同的明文块会加密成相同的密文块容易被攻击者利用进行分析在实际生产中不推荐使用建议使用更安全的模式如 CBC或 GCM。padding填充模式设置为 CryptoJS.pad.Pkcs7。PKCS7 填充是一种常用的填充方式它会在明文的末尾填充一定数量的字节使得明文长度是块大小的整数倍。这里提到前端使用 Pkcs7 对应后端的 Pkcs5实际上 PKCS5 是块大小固定为 8 字节的 PKCS7 填充的特殊情况在实际使用中要确保前后端对填充方式的理解和处理一致。 .toString()加密操作返回一个 WordArray 对象调用 toString() 方法将其转换为字符串形式的密文以便于存储和传输。 ————————————————————————————————— CryptoJS.AES.decrypt 是 crypto - js 库中用于 AES 解密的方法。它接受三个参数 jsonStr要解密的密文KEY与加密时相同的密钥。配置对象同样指定了 mode 为 ECB 模式padding 为 Pkcs7 填充模式。 .toString(CryptoJS.enc.Utf8)解密操作返回一个 WordArray 对象调用 toString(CryptoJS.enc.Utf8) 方法将其转换为 UTF - 8 编码的字符串形式的明文。 import CryptoJS from crypto-js/*** AES 加密* KEY: 需要前后端保持一致* mode: ECB 需要前后端保持一致* pad: Pkcs7 //前端 Pkcs7 对应 后端 Pkcs5*/ const KEY CryptoJS.enc.Utf8.parse(a761009ce3547b727e9387f2e6afadb2) // 秘钥 // const KEY CryptoJS.lib.WordArray.random(16).toString(CryptoJS.enc.Hex)// 生成随机的iv长度为16字节 const iv CryptoJS.lib.WordArray.random(16)export const AES_Encrypt (plaintext) {let ciphertext CryptoJS.AES.encrypt(plaintext, KEY, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7,}).toString()return ciphertext }/*** AES 解密*/ export const AES_Decrypt (jsonStr) {let plaintext CryptoJS.AES.decrypt(jsonStr, KEY, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7,}).toString(CryptoJS.enc.Utf8)return plaintext } 3、在main.js主文件中进行引用 import ./assets/main.cssimport { createApp } from vue import { createPinia } from piniaimport App from ./App.vue import router from ./router //全局密码加密 import { AES_Encrypt, AES_Decrypt } from /utils/crypto.jsconst app createApp(App)app.use(createPinia()) app.use(router) app.config.globalProperties.$AES_Encrypt AES_Encrypt //全局加密 app.config.globalProperties.$AES_Decrypt AES_Decrypt //全局解密app.mount(#app) 4、页面中进行使用 templatedivindex/div/templatescript import { getCurrentInstance } from vue export default {setup() {const password 2345687// 使用getCurrentInstance获取proxy从而调用全局方法const { proxy } getCurrentInstance()const encryptedPassword proxy.$AES_Encrypt(password)console.log(encryptedPassword, 1111加密后的密码)const decryptedPassword proxy.$AES_Decrypt(encryptedPassword)console.log(decryptedPassword, 1111解密后的密码)}, } /script 5、实现效果展示 在最后描述一下我在main.js代码中使用的是CryptoJS的ECB电子密码本模式 将明文分成固定长度的块每个块独立使用密钥进行加密相同的明文块会生成相同的密文块加密和解密过程相对简单易于实现加密速度快。由于相同明文块加密结果相同容易受到已知明文攻击安全性较低。适用于对少量数据且安全性要求不高的加密如加密单个密钥等。 6、加密模式解析以及iv参数使用 像CryptoJS.mode加密模式解析还有 CBCCipher Block Chaining密码块链接模式CFBCipher Feedback密文反馈模式OFBOutput Feedback输出反馈模式CTRCounter计数器模式 在CryptoJS.AES.encrypt方法中ivInitialization Vector初始化向量是一个可选参数主要用于加密算法的初始化过程。 在CryptoJS中使用ECB电子密码本模式时不能使用iv。 以下是一个使用iv参数的CryptoJS.AES.encrypt加密示例 import CryptoJS from crypto-js;// 定义密钥和明文 const key CryptoJS.enc.Utf8.parse(a761009ce3547b727e9387f2e6afadb2); const plaintext Hello, World!;// 生成随机的iv长度为16字节 const iv CryptoJS.lib.WordArray.random(16);// 使用AES加密传入密钥和iv const ciphertext CryptoJS.AES.encrypt(plaintext, key, {iv: iv,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7 }).toString();console.log(ciphertext);在上述示例中通过CryptoJS.lib.WordArray.random(16)生成了一个 16 字节的随机iv然后在CryptoJS.AES.encrypt方法中传入iv参数指定了加密模式为CBCCipher Block Chaining密码块链接模式这种模式下需要使用iv。
http://www.hkea.cn/news/14530763/

相关文章:

  • wordpress 企业站教程运营一个网站的成本
  • 高密做网站哪家好价位wordpress导航怎么添加连接
  • 男女做特别污污的事情网站网站更改备案
  • 上海网站制作网站开发论坛做视频网站有哪些
  • 网站建设验收模板南京模板建站哪家好
  • 赣榆哪里有做网站的启闭机闸门的网站建设
  • 企业wap网站源码php源码网站建设教程
  • 专业网站建设费用报价烟台龙口网站建设
  • 请简述网站建设的方法电商网站开发的主流技术
  • 上虞网站设计制作视频网站教程
  • 个人建网站怎么赚钱wordpress 关键字链接
  • 网站开发经验教训个人电子邮箱怎么填写格式
  • 五泉山网页设计宣传网站制作二级网站和自建网站有什么区别
  • 大学网站建设与管理职责网站群建设的目的意义
  • 无锡公司网站设计手机站是什么意思
  • 大理州建设局投诉网站重庆工程信息网官网首页
  • 河北邯郸做移动网站单本小说网站
  • 广东石油化工建设集团网站广告图片网站
  • wordpress建站不懂程序做能收款的网站多少钱
  • 中国建设银行官网站住房公积金达州大亚网站建设
  • 网站建设公司的政策风险微信开放平台登录
  • 下载了网站建设asp做出口贸易用什么平台
  • 全球十大跨境电商平台排行榜前十名百度seo优化方法
  • 贵州省城乡和住房建设厅官方网站北京vi设计哪家公司好
  • 外国做挂的网站是多少线上营销图片
  • 云主机安装网站大连网站制作的公司哪家好
  • 网页版游戏网站wordpress标签有问题
  • 和各大网站做视频的工作总结在织梦网站做静态网页
  • 做网站视频是什么专业为什么网站用静态页面
  • 网站提交入口大全软件开发模型对比