Websocket 加密 数据加密 js-base64 + 异或

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: Websocket 加密 数据加密 js-base64 + 异或

开发需求:

前端向客户端 传输数据 进行加密

* 逻辑 先把数据base64加密 然后异或  异或完之后 在base64加密

  • 框架 vue
  • 加密方法 js-base64 + 异或算法

1.在项目中下载 js-base64

yarn add js-base64 //如果没有安装 yarn 也可以使用 npm

2.在main.js中引入 base64

import jsBase64 from 'js-base64'
Vue.use(jsBase64)

3、使用的过程

jsBase64.encode(this.pwd);//加密
jsBase64.decode(this.pwd);//解密

后端代码:

本篇主要讲前端逻辑 后端代码仅供参考

先把数据base64加密 然后异或

解密过程一样得 先base64解密 在异或


前端代码:

首先创建 webSocket

this.webSocketObj = new WebSocket(url);// 这里的url是 跟客户端对接的 url地址
this.webSocketObj.onmessage = this.onMessage; // 客户端接受服务端数据时触发
this.webSocketObj.onopen = this.onOpen; //连接建立时触发
this.webSocketObj.onerror = this.onError; //通信错误时触发
this.webSocketObj.onclose = this.onClose;//连接关闭时触发

这里主要展示 this.onOpen 连接建立时的代码逻辑

//连接成功建立的回调方法
    onOpen() {
      if (this.webSocketObj.readyState === 1) { // 0:未连接 1:连接已建立 2.连接z正在关闭 3.连接已关闭或打不开连接
      let c_1 = `{"messag": "success"}`;// 这里是跟客户端约定的值
      let b_1 = Method(c_1); // 调用加密方法
      let Method = (val) => { // 加密
        let = this.jsBase64.encode(val);// 进行第一次加密
        let appointment = "A";// 异或 的值 A 跟客户端进行约定
        let message = ""; // 用来存储 新值 
        for (var i = 0; i < val.length; i++) { 
          if (0 == i % 2) { // 进行异或的判断 
            // 字符串个数 取余为0得  才异或
            message += String.fromCharCode(val.charCodeAt(i) ^ appointment.charCodeAt(0)); 
          } else {
            message += val[i];
          }
        }
        return this.jsBase64.encode(message); // 异或过的值 进行二次加密
      };
      this.webSocketObj.send(b_1);// 最后将加密过的数据 传给客户端
      }
     },

如果 客户端需要 把加密的数据传输给前端,前端通过this.onMessage 方法进行解密

总结:

以上就是 Websocket 前端实现 base64 + 异或 加密的方法

对于 Websocket 简单的使用,想了解更多的Websocket 知识 可以私信我一起探讨。  

相关文章
|
1月前
|
存储 安全 数据安全/隐私保护
Codota的数据加密技术包括静态数据加密和传输中的数据加密
Codota的数据加密技术包括静态数据加密和传输中的数据加密
48 4
|
28天前
|
安全 数据库 数据安全/隐私保护
对称加密与非对称加密的区别
对称加密与非对称加密的区别
195 64
|
3月前
|
存储 JavaScript 前端开发
webSocket+Node+Js实现在线聊天(包含所有代码)
文章介绍了如何使用WebSocket、Node.js和JavaScript实现在线聊天功能,包括完整的前端和后端代码示例。
239 0
|
4月前
|
JavaScript 前端开发 网络协议
Vue.js 与 WebSocket 的惊世联姻!实时数据通信的震撼变革,你敢错过?
【8月更文挑战第30天】在现代Web开发中,实时数据通信至关重要。Vue.js作为流行前端框架,结合WebSocket技术,实现了高效实时的数据交互。本文简要介绍了WebSocket原理及其在Vue.js项目中的应用方法,包括建立连接、监听事件及数据处理等步骤,展示了如何利用二者结合轻松应对实时聊天、股票更新等多种场景,为开发者提供了实用指南。希望本文能帮助您更高效地实现Web应用的实时通信功能。
209 0
|
1月前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
|
21天前
|
Java 数据安全/隐私保护
对称加密、非对称加密、哈希摘要
对称加密使用同一密钥进行加解密,速度快但需保密;非对称加密采用公钥加密、私钥解密,公钥可公开,安全性高但速度较慢,双向通信需双方各持一对密钥;哈希摘要是从数据中提取特征,用于数据完整性校验,不同数据的哈希值几乎不会相同。
29 0
|
1月前
|
前端开发 JavaScript 安全
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第7天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤。包括项目准备、安装 `javascript-obfuscator`、配置 Vite 构建以应用混淆,以及最终构建项目进行混淆。通过这些步骤,可以有效提升前端代码的安全性,防止被他人轻易分析和盗用。
226 0
|
3月前
|
JavaScript 前端开发 开发工具
五子棋小游戏(JS+Node+Websocket)可分房间对战
本文介绍了通过JS、Node和WebSocket实现的五子棋游戏,支持多人在线对战和观战功能。
100 1
五子棋小游戏(JS+Node+Websocket)可分房间对战
|
3月前
|
JavaScript 前端开发 安全
js逆向实战之烯牛数据请求参数加密和返回数据解密
【9月更文挑战第20天】在JavaScript逆向工程中,处理烯牛数据的请求参数加密和返回数据解密颇具挑战。本文详细分析了这一过程,包括网络请求监测、代码分析、加密算法推测及解密逻辑研究,并提供了实战步骤,如确定加密入口点、逆向分析算法及模拟加密解密过程。此外,还强调了法律合规性和安全性的重要性,帮助读者合法且安全地进行逆向工程。
111 11
|
3月前
|
前端开发 数据安全/隐私保护
JS-RSA超长加密
JS-RSA超长加密
67 4