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

JS加密/解密之逻辑运算符加密进阶篇

在这里插入图片描述

前言

​ 前篇给大家介绍了运算符不为人知的基础知识。他们的各种表达形式,今天我们从这个基础上,继续进一步告诉大家,如何对字符串进行加密处理。还是那句话,技术人不废话,直接晒代码。

示例源代码

// 字符串加密示例
let str = "Hello World";// 加密
let encryptedString = [[] + [] + [] + [] + [] + [] + [] + [],![] + [] + [] + [] + [] + [] + [] + [],!![] + [] + [] + [] + [] + [] + [] + [],+[] + [] + [] + [] + [] + [] + [] + [],-[] + [] + [] + [] + [] + [] + [] + [],~[] + [] + [] + [] + [] + [] + [] + []
].join("");console.log(encryptedString); // 输出:"[object Object]undefinedtrue0-0-1"// 解密
let decryptedString = eval("String.fromCharCode(" + encryptedString.match(/\d+/g).join(",") + ")");
console.log(decryptedString); // 输出:"Hello World"

测试

很多简单的加密,都可以通过一键JS解密去解开。我们可以把上边的代码丢进去测试一下看是否可以直接解出来。这个JS一键解密是jsjiami官网的功能。经测试该加密无法一键解开,安全性还是有的。

原理分析

  1. 字符串定义: 代码一开始定义了字符串"Hello World",我们将对其进行加密和解密操作。
  2. 加密操作:
    • 在加密部分,我们使用了一系列操作符来表示不同的字符:
      • [] + [] 会转换成"undefined"
      • ![] 会转换成false,加上[]后变成`“false”。
      • !![] 会转换成true,加上[]后变成`“true”。
      • +[] 会转换成数字0,加上[]后变成`“0”。
      • -[] 会转换成数字-0,加上[]后变成`“0”。
      • ~[] 会转换成数字-1,加上[]后变成`“-1”。
    • 这些操作符产生的结果被存储在数组中,然后使用join函数连接成一个字符串,形成了加密后的字符串"[object Object]undefinedtrue0-0-1"

相关文章:

JS加密/解密之逻辑运算符加密进阶篇

前言 ​ 前篇给大家介绍了运算符不为人知的基础知识。他们的各种表达形式,今天我们从这个基础上,继续进一步告诉大家,如何对字符串进行加密处理。还是那句话,技术人不废话,直接晒代码。 示例源代码 // 字符串加密示…...

【ROS入门】机器人系统仿真——URDF集成Gazebo

文章结构 URDF与Gazebo基本集成流程创建功能包编写URDF或Xacro文件启动 Gazebo 并显示机器人模型 URDF集成Gazebo相关设置collisioninertial颜色设置 URDF集成Gazebo实操编写封装惯性矩阵算法的 xacro 文件复制相关 xacro 文件,并设置 collision inertial 以及 colo…...

互联多区域电网的负荷频率控制研究

摘要 电力行业的发展程度是衡量国民经济水平以及国家安全保障的一项重要指标。多区域负荷频率控制系统作为现代电力系统发展的重要趋势,在可靠性、经济性和稳定性上都具备一定的优势。保证系统稳定和输出电能的质量是电网运行的关键。电力系统输出电能质量的优劣取决…...

【java学习—九】模板方法(TemplateMethod)设计模式(4)

文章目录 1. 在java中什么是模板2. 模板方法设计解决了什么问题?3. 代码化理解 1. 在java中什么是模板 抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留…...

【MyBatis Plus】初识 MyBatis Plus,在 Spring Boot 项目中集成 MyBatis Plus,理解常用注解以及常见配置

文章目录 一、初识 MyBatis Plus1.1 MyBatis Plus 是什么1.2 MyBatis Plus 和 MyBatis 的区别 二、在 Spring Boot 项目中集成 MyBatis Plus2.1 环境准备2.2 引入 MyBatis Plus 依赖2.3 定义 Mapper2.4 测试 MyBatis Plus 的使用 三、MyBatis Plus 常用注解3.1 为什么需要注解3…...

Centos7 安装和配置 Redis 5 教程

在Centos上安装Redis 5,如果是 Centos8,那么 yum 仓库中默认的 redis 版本就是 5,直接 yum install 即可。但如果是 Centos7,yum 仓库中默认的 redis 版本是 3 系列,比较老: 通过 yum list | grep redis 命…...

使用 RAG、Langchain 和 Streamlit 制作用于文档问答的 AI 聊天机器人

在这篇文章中,我们将探索创建一个简单但有效的聊天机器人,该机器人根据上传的 PDF 或文本文件的内容响应查询。该聊天机器人使用 Langchain、FAISS 和 OpenAI 的 GPT-4 构建,将为文档查询提供友好的界面,同时保持对话上下文完整。…...

论文阅读——RoBERTa

一、LM效果好但是各种方法之间细致比较有挑战性,因为训练耗费资源多、并且在私有的不同大小的数据集上训练,不同超参数选择对结果影响很大。使用复制研究的方法对BERT预训练的超参数和数据集的影响细致研究,发现BERT训练不够,提出…...

springboot项目打jar包,运行时提示jar中没有主清单属性

可能性一&#xff1a; 没有在pom中加入maven插件 在pom中加入下方代码即可。 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</ve…...

【Codeforces】 CF79D Password

题目链接 CF方向 Luogu方向 题目解法 看到区间异或&#xff0c;一个经典的套路是做差分&#xff0c;我们即在 l l l 处异或一次&#xff0c;在 r 1 r1 r1 处异或一次&#xff0c;然后前缀和起来 于是我们可以将问题转化成&#xff1a;有一个序列初始全 0 0 0&#xff0c…...

叛乱沙漠风暴server安装 ubuntu 22.04

最新版沙暴已经不支持centos了&#xff0c;还是使用ubuntu比较顺利 官方文档&#xff1a; https://sandstorm-support.newworldinteractive.com/hc/en-us/articles/360049211072-Server-Admin-Guide // 安装steamcmd依赖 sudo add-apt-repository multiverse sudo apt inst…...

ES6中的新增属性——解构赋值

首先我们要创建一个假数据&#xff0c;我们现在要取出user中的id和名称&#xff0c;如下&#xff1a; let user JSON.parse(sessionStorage.getItem(userInfo)) let id user.id; let name user.name; 非常的麻烦&#xff0c;我们需要一项一项的获取&#xff0c;这个时候可…...

行业追踪,2023-10-27

自动复盘 2023-10-27 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…...

Qt QWebEngine 更换语言

背景 使用Qt QWebEngine开发的应用&#xff0c;在一些场景下&#xff0c;会显示英文文本&#xff0c;比如右键、JS弹出的对话框&#xff0c;所以需要进行汉化&#xff0c;更改语言。 准备翻译文件 Qt有提供翻译好的ts文件&#xff0c;我们可以直接下载ts文件qtwebengine_zh_…...

Docker一键开启、停止和删除所有容器

开启所有运行的容器&#xff1a; docker start $(docker ps -aq) 这里&#xff0c;docker ps -aq 列出了所有容器的ID&#xff0c;然后 docker start 命令用于开启这些容器。 停止所有运行的容器&#xff1a; docker stop $(docker ps -aq) 同理&#xff0c;docker ps -aq…...

2016年亚太杯APMCM数学建模大赛B题化学元素对变形钢筋性能的影响求解全过程文档及程序

2016年亚太杯APMCM数学建模大赛 B题 化学元素对变形钢筋性能的影响 原题再现 热轧带肋钢筋通常被称为变形钢筋&#xff0c;它主要用于钢筋混凝土构件的骨架&#xff0c;在使用中需要一定的机械强度、弯曲和变形性能、制造焊接性。钢中的化学成分是影响热轧钢最终组织性能的基…...

美颜SDK集成指南:为应用添加视频美颜功能

随着社交媒体和直播应用的兴起&#xff0c;视频美颜功能已成为用户追求的一项热门特性。用户希望能够在拍摄照片或进行实时视频直播时&#xff0c;使用美颜功能来增强其外观。为了满足这一需求&#xff0c;开发者可以考虑集成美颜SDK&#xff0c;为其应用增加这一吸引人的功能。…...

AquilaChat2-34B 主观评测接近GPT3.5水平,最新版本Base和Chat权重已开源!

两周前&#xff0c;智源研究院发布了最强开源中英双语大模型AquilaChat2-34B 并在 22项评测基准中综合能力领先&#xff0c;广受好评。为了方便开发者在低资源上运行 34B 模型&#xff0c;智源团队发布了 Int4量化版本&#xff0c;AquilaChat2-34B 模型用7B量级模型相近的GPU资…...

useGeneratedKeys=“true“ keyProperty=“id“

1、xml中 useGeneratedKeys"true" keyProperty"id"2、db id bigint(20) AUTO_INCREMENT 3、场景 一般用于 先将DO写入dbinsert成功后&#xff0c;再将JDBC自增主键值AUTO_INCREMENT&#xff0c;回写到DO的id属性字段后续可能会从DO中获取此id值进行查询…...

Java 浅拷贝会带来的问题

Java 浅拷贝会带来的问题 一&#xff0c;常见问题 Java 中的浅拷贝是指在对象拷贝时&#xff0c;只复制对象的引用&#xff0c;而不是对象本身。这意味着浅拷贝会导致多个对象共享同一块内存空间&#xff0c;当一个对象修改共享内存时&#xff0c;其他对象也会受到影响。 下…...

鸿蒙中 免密身份认证:Online Authentication Kit

本文同步发表于微信公众号&#xff0c;微信搜索 程语新视界 即可关注&#xff0c;每个工作日都有文章更新 在应用开发中&#xff0c;身份认证是一个核心功能。传统的密码登录方式存在记忆成本高、安全性风险大等问题。鸿蒙系统提供了Online Authentication Kit&#xff08;在线…...

ESP8266与STM32F103通信实战:从硬件连接到软件调试的完整解析

1. ESP8266与STM32F103通信基础 搞物联网开发的朋友应该都听说过ESP8266这个神器&#xff0c;它就像给传统单片机装上了Wi-Fi翅膀。我最早用STM32F103做项目时&#xff0c;为了联网功能折腾了好久&#xff0c;直到发现ESP-01S模块这个性价比之王。今天我就把这两者的通信实战经…...

微信网页授权redirect_uri配置全解析:从错误码10003到完美避坑指南

1. 微信网页授权redirect_uri配置全解析 最近在开发一个需要微信登录的项目时&#xff0c;遇到了经典的错误码10003问题。当时调试了大半天才发现是redirect_uri配置出了问题。相信很多开发者都踩过这个坑&#xff0c;今天我就把完整的解决方案和避坑经验分享给大家。 微信网页…...

Go Context 生命周期与控制流分析

Go Context 生命周期与控制流分析 在Go语言中&#xff0c;Context是控制并发任务生命周期和传递请求范围数据的重要机制。它广泛应用于超时控制、取消信号传递以及跨API边界的数据共享。理解Context的生命周期及其对控制流的影响&#xff0c;对于编写高效、健壮的并发程序至关…...

在PHP中,何时使用静态工厂方法替代构造函数?

在 PHP 中&#xff0c;构造函数 (__construct) 是实例化对象的默认方式&#xff0c;但它有几个明显的局限性&#xff1a; 名称固定&#xff1a;只能叫 __construct&#xff0c;无法表达意图。返回类型固定&#xff1a;只能返回当前类的实例&#xff0c;不能返回子类或缓存对象。…...

3步解锁网盘直链:LinkSwift八大平台高速下载完全指南

3步解锁网盘直链&#xff1a;LinkSwift八大平台高速下载完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

从底层源码深入分析Bean的实例化

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

网站SEO排名优化有哪些最佳实践

网站SEO排名优化有哪些最佳实践 在当今数字化时代&#xff0c;网站SEO排名优化成为了每个网站运营者必须面对的重要挑战。在百度等搜索引擎中&#xff0c;高排名不仅能够提升网站的曝光率&#xff0c;还能带来更多的流量和潜在客户。具体有哪些最佳实践可以帮助你提升网站在搜…...

Notepad--跨平台文本编辑器:3个简单技巧提升长期使用性能

Notepad--跨平台文本编辑器&#xff1a;3个简单技巧提升长期使用性能 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器&#xff0c;目标是做中国人自己的编辑器&#xff0c;来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- N…...

别再死记硬背了!用‘四体交叉’和‘双端口RAM’的实战题目,彻底搞懂计算机组成原理的存储器提速

从四体交叉到双端口RAM&#xff1a;用实战思维破解存储器提速难题 计算机组成原理中那些晦涩的存储器提速概念&#xff0c;是否总让你在题海中迷失方向&#xff1f;当"单体多字"、"多体并行"、"四体交叉"这些术语在教材里冰冷排列时&#xff0c;…...