首页 > 其他分享 >JS加密/解密之那些不为人知的基础逻辑运算符

JS加密/解密之那些不为人知的基础逻辑运算符

时间:2023-10-26 23:01:46浏览次数:29  
标签:类型转换 console log 解密 JS 运算符 false true

JS加密/解密之那些不为人知的基础逻辑运算符_JS安全

不多说,直接上干货

  1. 使用逻辑非运算符 ! 和双重逻辑非运算符 !!:例如 ![]!![]!0!!0!""!!""
  2. 空字符串的转换:!""!!""
  3. 数组和对象的类型转换:[] + [][] - []{} + [][] + {}
  4. 对象和原始值的自动拆箱:例如 ({ valueOf: () => 5 }) + 3
  5. 减法运算符的字符串转换:例如 "10" - "2"
  6. 相等运算符的类型转换:例如 "1" == 1true == 1
  7. 类型转换函数:例如 String()Number()Boolean() 函数可以用于将其他类型的值转换为字符串、数字和布尔值。

案例代码 实践出真知

// 逻辑非运算符和双重逻辑非运算符
console.log(![]); // false
console.log(!![]); // true
console.log(!0); // true
console.log(!!0); // false
console.log(!""); // true
console.log(!!""); // false

// 空字符串的转换
console.log(!""); // true
console.log(!!""); // false

// 数组和对象的类型转换
console.log([] + []); // ""
console.log([] - []); // 0
console.log({} + []); // 0
console.log([] + {}); // "[object Object]"

// 对象和原始值的自动拆箱
console.log(({ valueOf: () => 5 }) + 3); // 8

// 减法运算符的字符串转换
console.log("10" - "2"); // 8

// 相等运算符的类型转换
console.log("1" == 1); // true
console.log(true == 1); // true

// 类型转换函数
console.log(String(123)); // "123"
console.log(Number("123")); // 123
console.log(Boolean(0)); // false

结尾

这些基础的知识,是每个js加密人必须知道的小知识。

当然了这些小东西都可以直接在jsjiami官网一键解出来,但是如何合理运用他,就是各位的本事了。

标签:类型转换,console,log,解密,JS,运算符,false,true
From: https://blog.51cto.com/u_15781271/8043858

相关文章

  • JS异步任务的并行、串行,以及二者结合
    让多个异步任务按照我们的想法执行,是开发中常见的需求。今天我们就来捋一下,如何让多个异步任务并行,串行,以及并行串行相结合。 一、并行并行是使用最多的方式,多个相互间没有依赖关系的异步任务,并行执行能够提高效率。我们最经常用的,是Promise.all()。functionf1(){......
  • Fabric.js 图案笔刷
    本文简介带尬猴,我是德育处主任Fabric.js有图案画笔功能,这个功能可以简单理解成“刮刮卡”效果。如果只是看Fabric.js文档可能还不太明白图案画笔PatternBrush是如何使用。本文将讲解如何配置这款画笔的基础属性。图案画笔(笔刷)PatternBrush先看看效果使用图案画......
  • C++运算符
    C++运算符运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++内置了丰富的运算符,并提供了以下类型的运算符:算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符算术运算符下表显示了C++支持的所有算术运算符。假设变量A=10;B=20,则:运算符描......
  • 逻辑运算符 && 和 || 的短路特性
    ⛩️博主主页:@威化小餅干......
  • js HmacSHA256 改python
      uu.HmacSHA256(JSON.stringify(e),t).toString(uu.enc.Base64)    defdemo2(t,account,password,rsaKey):importhmacimporthashlibimportbase64aaa=f'{{"account":"{account}","password":&qu......
  • 什么是yaml格式与json格式
    什么是yaml格式与json格式yaml格式:文件名格式以.yml.yaml为后缀,用空格缩进表示字段的层级关系,可读性高,易于人类管理yaml格式布尔值类型:只有在是true/false时为真,假的意识例:debug:true 布尔值类型debug:"true"字符串类型​debug:false  布尔值类型debu......
  • Stirling-PDF 开源在线PDF处理系统(可解密PDF)
    Stirling-PDF是一个本地托管的Web应用程序,允许您对PDF文件执行各种操作命令行安装#运行容器dockerrun-d\--restartunless-stopped\--namespdf\-p8077:8080\frooodle/s-pdf运行在浏览器中输入http://IP:8077就能看到主界面......
  • PHP RSA加密解密实例
    <?phpheader('Content-Type:text/html;charset=utf-8');//RSA加密解密实例$private_key=<<<EOF-----BEGINRSAPRIVATEKEY-----MIICXQIBAAKBgQC3//sR2tXw0wrC2DySx8vNGlqt3Y7ldU9+LBLI6e1KS5lfc5jlTGF7KBTSkCHBM3ouEHWqp1Z......
  • JS中的4个for循环
    JS中的4个for循环介绍在ECMAScript5(简称ES5)中,有三个循环。在2015年6月发布的ECMAScript6(简称ES6)中,新增了一种循环类型。他们是:forforinforeachforof一起来看看这4个for循环。1、简单的for循环最常见的写法:constarr=[1,2,3];for(leti=0;i<arr.l......
  • Three.js 材质的 blending
    Three.js材质的blending//blendingmodesexporttypeBlending=|typeofNoBlending|typeofNormalBlending|typeofAdditiveBlending|typeofSubtractiveBlending|typeofMultiplyBlending|typeofCustomBlending;//customblendin......