一种基于摩斯密码的页面加密方法(web和小程序)

news2024/11/27 21:07:59

1. 开始

web开发中,常有一些功能仅希望对开发、测试人员等一小部分人展示,比如测试一个小程序项目中,想让测试人员快速复制当前对应的h5页面,这时候如果页面是必须登录的,我们可以借助vconsole,然后维护一个白名单配置,在进行中拉取配置,然后展示即可。

如果项目不是必须登录的,比如新闻、博客网站,或者需要这项功能的人很多,维护白名单太费时费力,就需要另一种办法。

这里介绍一种基于摩斯密码的页面加密方式,这里的加密其实是隐藏页面某些信息,也可以将其扩展,进行其他的操作,比如发送额外的请求、管理员的切换、状态的转变等。

2. 实现方式

简单来说,就是把用户的点击和长按分别当成点信号和长信号,也可以理解为计算机中的0和1,当用户一段时间内的输入符合密码规则时,视为解密成功,进行相应的操作。

这里的细节点就是维护密码数组和当前正在匹配的位置,流程图如下:

3. 延伸

3.1. 多端适配

对于web项目,可以传入选择器,由JS动态监听事件,对于小程序,则需要在tap和longpress事件中,手动调用morsePwd中的相应的方法。

web项目使用方式如下:

<script>
export default {data() {return {morsePwd: null,};},mounted() {this.morsePwd = MorsePwd.init({pwd: [1, 1, 1, 2, 2, 2, 1, 1, 1],cb: () => {this.showToast('xxx');},selector: '#app',envType: 'H5',});},beforeDestroy() {this.morsePwd.clear();},
}
</script> 

小程序项目(基于uni-app)使用方式如下:

<template><divclass="tip-match-header"@longpress="onLongPressWrap"@click.stop="onClickWrap">
</template>

<script>
export default {data() {return {morsePwd: null,};},mounted() {this.morsePwd = MorsePwd.init({pwd: [1, 1, 1, 2, 2, 2, 1, 1, 1],cb: () => {this.showToast('hhh');},envType: 'MP',});},beforeDestroy() {this.morsePwd.clear();},methods: {onLongPressWrap() {this.morsePwd.longPress();},onClickWrap() {this.morsePwd.click();},}
}
</script> 

3.2. 多实例

由于采用的面向对象的开发方式,所以可以很方便的实例化出多个密码,将其应用于多个场景。

3.3 密码安全

密码可以放在一个配置网站,然后调用接口去拉取,或者同步到云文件中。

密码应该定期更换,来保证安全,另外,这种加密方式应该只加密较为简单的东西,比如复制一些页面信息、辅助测试等。

最后

整理了75个JS高频面试题,并给出了答案和解析,基本上可以保证你能应付面试官关于JS的提问。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/88446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

redis之主从切换可能有哪些问题

写在前面 本文一起看下Redis cluster 集群模式下&#xff0c;发生了主从切换时可能存在的问题以及应对方案。 1&#xff1a;主从数据不一致 主从数据不一致&#xff0c;是由于主从同步延迟造成的&#xff0c;可能的解决方案如下&#xff1a; 1&#xff1a;尽量将主从同机房…

React面试:谈谈虚拟DOM,Diff算法与Key机制

1.虚拟dom 原生的JS DOM操作非常消耗性能&#xff0c;而React把真实原生JS DOM转换成了JavaScript对象。这就是虚拟Dom&#xff08;Virtual Dom&#xff09; 每次数据更新后&#xff0c;重新计算虚拟Dom&#xff0c;并和上一次生成的虚拟dom进行对比&#xff0c;对发生变化的…

Ansys Zemax | 用于数字投影光学中均匀照明的蝇眼阵列

简介 在数字投影仪设计中&#xff0c;我们希望确保数字光源与投影图像在辐照度分布相匹配。因此&#xff0c;这一约束要求投影仪设计包含均匀照明的空间光调制器——通常以LCD面板的形式呈现。理论上听起来很容易&#xff0c;但实际上&#xff0c;此面板上的光源光束通常是高斯…

语音输入转文字怎么操作?分享几种语音转文字技巧

相信有不少小伙伴在整理语音文件的时候&#xff0c;都会有过怎样把这些语音直接转换成文字的想法吧。每次在我开完会之后&#xff0c;需要对会议语音进行整理时&#xff0c;都会产生这种想法。因为我们需要不断的去听这个会议的语音内容&#xff0c;这样做既费时又费力。但其实…

MATLAB生成2D和3D格网(GUI程序)

目录 一、写函数DataStructure_Fnc 二、控件属性 三、生成2D格网代码 三、生成3D格网代码 一、写函数DataStructure_Fnc 函数代码&#xff0c;生成三角网需要调用此函数 function DataStructureDataStructure_Fnc(Table) [row col]size(Table); Table(1:end,5:7)-1; for j1…

【配置指导】如何配置dataFEED edgeConnector Siemens以实现西门子PLC与阿里云之间的双向通信

本配置指导手册介绍了如何配置dataFEED edgeConnector Siemens&#xff0c;以通过MQTT来将西门子S7-1200 PLC数据上传到阿里云&#xff1b;以及从阿里云发布数据&#xff0c;并传输到PLC中&#xff0c;从而实现西门子S7-1200 PLC与阿里云之间的双向通信。 主要内容包括&#xf…

30-Vue之ECharts-直角坐标系的常用配置

直角坐标系的常用配置前言直角坐标系常用配置网格坐标轴区域缩放前言 本篇来学习下直角坐标系的常用配置 直角坐标系 直角坐标系的图表指的是带有x轴和y轴的图表, 常见的直角坐标系的图表有: 柱状图 折线图 散点图 常用配置 网格 grid&#xff1a;是用来控制直角坐标系的…

可落地的、不基于框架的分布式事务解决方案

两阶段提交 2PC 在MySQL InnoDB中&#xff0c;为了保证Bin Log和Redo Log的一致性&#xff0c;便采用了两阶段提交&#xff1b;ZooKeeper、ETCD集群为了保证数据一致性&#xff0c;也采用了两阶段提交&#xff0c;RocketMQ的事务消息也采用了两阶段提交&#xff0c;可见两阶段…

从VirtualBox换成KVM虚拟机管理程序?

好消息是&#xff0c;您可以轻松地将VDI格式的VirtualBox VM迁移到qcow2(即KVM的磁盘映像格式)&#xff0c;不用创建新的KVM来宾计算机。 我们在本文中将概述如何将VirtualBox VM迁移到Linux中KVM VM的逐步过程。 第一步&#xff1a;列出现有的VirtualBox映像 首先&#xff0c…

泰斯公式Thiem’s equation地下水

基本形式 泰斯公式1描述了在含水层抽水时的地下水流动。 多井作业时非承压含水层的方程形式如下 H(s)和H0(s)分别表示s点的估计地下水位和初始地下水位&#xff0c;K表示水力导率&#xff0c;ri表示预测位置与贡献井i之间的距离&#xff0c;n是贡献井的集合&#xff0c;Q表…

Win11 21H2 12月最新更新了哪些内容?

微软今天发布了12月最新的累积更新补丁&#xff0c;用户可以升级KB5021234将版本号提升至 build 22000.1335&#xff0c;并解决了远程网络问题以及可能影响数据保护应用程序编程接口 &#xff08;DPAPI&#xff09; 解密的问题。此外&#xff0c;该更新还包括之前在 11 月 15 日…

11-FreeRTOS配置函数 FreeRTOSConfig.h

1-FreeRTOSConfig.h介绍 FreeRTOS中的相关定义多数都在FreeRTOSConfig.h中&#xff0c;整个FreeRTOS的定义调用都可以在这里定义&#xff0c;当然你也可以自己命名一个文件实现自定义。 下面是这个文件的内容&#xff0c;如下&#xff1a; #ifndef FREERTOS_CONFIG_H #define…

Graph Neural Networks for Social Recommendation学习笔记

1 目标 学习user embedding和item embedding。 2 框架 3 用户建模 3.1 利用历史记录对用户建模 3.2 利用社交关系对用户建模

10.9.1-Dataway+Echarts动态图表方案

文章目录1. 技术选型2. 实现方案2.1. 方案介绍2.2. 方案实现&#xff08;demo&#xff09;2.2.1. 使用echarts绘制html静态页2.2.1.1. 选择合适的图表2.2.1.2. 下载html demo2.2.2. 使用Dataway准备数据接口2.2.2.1. 部署dataway2.2.2.2. 创建数据接口2.2.3. 调试html demo da…

代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和

代码随想录算法训练营第七天| 哈希表理论基础 &#xff0c;454.四数相加II&#xff0c; 383. 赎金信&#xff0c; 15. 三数之和&#xff0c; 18. 四数之和 454.四数相加II 建议&#xff1a;本题是 使用map 巧妙解决的问题&#xff0c;好好体会一下 哈希法 如何提高程序执行效…

【洞察人性】 理解行为背后的动机

《洞察人性》 关于作者 阿尔弗雷德•阿德勒&#xff0c;奥地利精神病学家&#xff0c; 人本主义心理学先驱&#xff0c;曾经在美国哥伦比亚大学任客座教授。同时他也是个体心理学的创始人&#xff0c;在学术界拥有重要的地位。著作有《自卑与超越》《人性的研究》 《洞察人性…

DPDK源码分析之rte_eal_init

EAL是什么 环境抽象层(EAL)负责获得对底层资源(如硬件和内存空间)的访问。对于应用程序和其他库来说&#xff0c;使用这个通用接口可以不用关系具体操作系统的环境细节。rte_eal_init初始化例程负责决定如何分配操作系统的这些资源(即内存空间、设备、定时器、控制台等等)。 …

【IVIF:搜索架构】

Searching a Hierarchically Aggregated Fusion Architecture for Fast Multi-Modality Image Fusion &#xff08;搜索用于快速多模态图像融合的分层聚合融合架构&#xff09; 现有的基于CNN的方法使主要点在于设计各种体系结构&#xff0c;以端到端的方式实现这些任务。但是…

JSP ssh美食娱乐分享网站系统myeclipse开发oracle数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh美食娱乐分享网站系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采 用B/S模式开发。开发环境为TOMCA…

学习二叉树必须要了解的各种遍历方式及节点统计

哈喽&#xff0c;大家好&#xff0c;我是小林。今天给大家分享一下对二叉树的一些常规操作。 愿我们都能保持一颗向上的心。 目录一、前序遍历二、中序遍历三、后序遍历四、 统计节点个数五、统计叶子节点个数六、第K层的节点个数七、二叉树的深度八、查找值为x的节点九、层序遍…